E/AndroidRuntime( 1900): java.lang.StackOverflowError
E/AndroidRuntime( 1900): at android.graphics.Canvas.drawText(Canvas.java:1269)
E/AndroidRuntime( 1900): at android.text.Layout.draw(Layout.java:337)
E/AndroidRuntime( 1900): at android.widget.TextView.onDraw(TextView.java:4006)
E/AndroidRuntime( 1900): at android.view.View.draw(View.java:6057)
E/AndroidRuntime( 1900): at android.view.ViewGroup.drawChild(ViewGroup.java:1545)
E/AndroidRuntime( 1900): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1281)
E/AndroidRuntime( 1900): at android.view.ViewGroup.drawChild(ViewGroup.java:1543)
E/AndroidRuntime( 1900): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1281)
E/AndroidRuntime( 1900): at android.view.ViewGroup.drawChild(ViewGroup.java:1543)
E/AndroidRuntime( 1900): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1281)
E/AndroidRuntime( 1900): at android.view.View.draw(View.java:6060)
E/AndroidRuntime( 1900): at android.view.View.buildDrawingCache(View.java:5823)
E/AndroidRuntime( 1900): at android.view.View.getDrawingCache(View.java:5661)
E/AndroidRuntime( 1900): at android.view.ViewGroup.drawChild(ViewGroup.java:1481)
E/AndroidRuntime( 1900): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1281)
E/AndroidRuntime( 1900): at android.widget.AbsListView.dispatchDraw(AbsListView.java:1322)
E/AndroidRuntime( 1900): at android.widget.ListView.dispatchDraw(ListView.java:2841)
E/AndroidRuntime( 1900): at android.view.View.draw(View.java:6164)
E/AndroidRuntime( 1900): at android.widget.AbsListView.draw(AbsListView.java:2169)
E/AndroidRuntime( 1900): at android.view.ViewGroup.drawChild(ViewGroup.java:1545)
E/AndroidRuntime( 1900): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1281)
E/AndroidRuntime( 1900): at android.view.ViewGroup.drawChild(ViewGroup.java:1543)
E/AndroidRuntime( 1900): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1281)
E/AndroidRuntime( 1900): at android.view.ViewGroup.drawChild(ViewGroup.java:1543)
E/AndroidRuntime( 1900): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1281)
E/AndroidRuntime( 1900): at android.view.ViewGroup.drawChild(ViewGroup.java:1543)
E/AndroidRuntime( 1900): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1281)
E/AndroidRuntime( 1900): at android.view.ViewGroup.drawChild(ViewGroup.java:1543)
E/AndroidRuntime( 1900): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1281)
E/AndroidRuntime( 1900): at android.view.ViewGroup.drawChild(ViewGroup.java:1543)
E/AndroidRuntime( 1900): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1281)
E/AndroidRuntime( 1900): at android.view.ViewGroup.drawChild(ViewGroup.java:1543)
E/AndroidRuntime( 1900): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1281)
E/AndroidRuntime( 1900): at android.view.ViewGroup.drawChild(ViewGroup.java:1543)
E/AndroidRuntime( 1900): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1281)
E/AndroidRuntime( 1900): at android.view.ViewGroup.drawChild(ViewGroup.java:1543)
E/AndroidRuntime( 1900): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1281)
E/AndroidRuntime( 1900): at android.view.View.draw(View.java:6060)
E/AndroidRuntime( 1900): at android.widget.FrameLayout.draw(FrameLayout.java:352)
E/AndroidRuntime( 1900): at android.view.ViewGroup.drawChild(ViewGroup.java:1545)
E/AndroidRuntime( 1900): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1281)
E/AndroidRuntime( 1900): at android.view.ViewGroup.drawChild(ViewGroup.java:1543)
E/AndroidRuntime( 1900): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1281)
E/AndroidRuntime( 1900): at android.view.View.draw(View.java:6060)
E/AndroidRuntime( 1900): at android.widget.FrameLayout.draw(FrameLayout.java:352)
E/AndroidRuntime( 1900): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2038)
E/AndroidRuntime( 1900): at android.view.ViewRoot.draw(ViewRoot.java:1233)
E/AndroidRuntime( 1900): at android.view.ViewRoot.performTraversals(ViewRoot.java:1042)
E/AndroidRuntime( 1900): at android.view.ViewRoot.handleMessage(ViewRoot.java:1502)
E/AndroidRuntime( 1900): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 1900): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 1900): at android.app.ActivityThread.main(ActivityThread.java:3972)
E/AndroidRuntime( 1900): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 1900): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime( 1900): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
E/AndroidRuntime( 1900): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:543)
E/AndroidRuntime( 1900): at dalvik.system.NativeStart.main(Native Method)
I/Process ( 833): Sending signal. PID: 1900 SIG: 3
解决方式:减少布局嵌套层数,特别是用到类似tabHost,ViewPager的控件时,要考虑到最底层的 activity 的
contentView的布局,尽量简化,多用RelativeLayout替代LinearLayout
同样再优化列表滑动效率的时候,简化item布局也能带来巨大的体验提升
相关推荐
在Java编程中,`java.lang.StackOverflowError` 是一个常见的运行时异常,它通常发生在程序执行过程中,当Java虚拟机(JVM)的调用栈溢出时。调用栈是每个线程用来存储方法调用信息的数据结构,当递归调用过深或者...
tomcat内存溢出解决办法,错误信息:java.lang.OutOfMemoryError:PermGen space 参考该文档可快速解决内存溢出的问题,服务器:tomcat
java.lang.StackOverflowError 是一种堆栈溢出错误,指的是在程序中递归调用的层次太深而导致堆栈溢出时抛出的异常。 29. java.lang.ThreadDeath 线程结束 java.lang.ThreadDeath 是一种线程结束,指的是在程序中...
在Java编程语言中,`java.lang.Throwable`是所有错误(Error)和异常(Exception)的顶级父类,它是Java异常处理机制的核心组成部分。这个类位于`java.lang`包中,是Java标准库的一部分,提供了处理运行时问题的标准...
2. **`java.lang.StackOverflowError`** - 当程序递归过深导致栈溢出时抛出此错误。 3. **`java.lang.OutOfMemoryError`** - 当JVM无法分配更多内存时抛出此错误。 4. **`java.lang.InternalError`** - 表示JVM内部...
2. **java.lang.StackOverflowError**: 当递归调用过深导致堆栈溢出时,会抛出这个错误。这通常意味着一个函数或方法在调用自身时没有正确的退出条件。优化递归结构或提高JVM的堆栈大小可以避免这个问题。 3. **...
- **`java.lang.StackOverflowError`**:当栈溢出时抛出,通常由无限递归引起。 - **`java.lang.UnsupportedClassVersionError`**:当JVM版本不支持类文件版本时抛出。 - **`java.lang.VirtualMachineError`**:当...
java.lang.StackOverflowError java.lang.Exception java.io.IOException java.sql.SQLException java.sql.SQLSyntaxErrorException java.lang.RuntimeException java.lang.NullPointerException java.lang....
- 描述:当程序中的递归调用过深,导致Java虚拟机的堆栈空间耗尽时,会抛出此类错误。 - 解决方法:优化递归算法,尽可能减少递归深度,或者增加虚拟机的堆栈大小配置。 通过理解和掌握这些常见异常,开发者可以...
去除死循环,解决StackOverflowError错误
常见的内存错误包括`java.lang.OutOfMemoryError: Heap space`(堆空间不足)、`java.lang.OutOfMemoryError: PermGen space`(方法区空间不足)和`java.lang.StackOverflowError`(栈溢出)。这些错误通常由于物理...
- 错误信息:编译器报错提示无法初始化pagecontext,异常为java.lang.StackOverflowError。 - 原因分析:在接口Rollable中定义的成员变量ball的引用被改变了,但接口中的成员变量默认是public static final的,即...
- **`java.lang.StackOverflowError`**:栈溢出时抛出。 - **`java.lang.UnsupportedClassVersionError`**:类版本不受支持时抛出。 ### 异常处理策略 针对以上提到的各种异常,合理的异常处理策略非常重要。以下...
【情况六】:`java.lang.StackOverflowError` 这是线程栈溢出错误,通常是由于方法调用层次过深或者无限递归。解决策略包括优化程序设计,减少不必要的方法调用,或者增大线程栈大小(通过`-Xss`参数)。 总结来说...
如果某个线程的线程栈空间被耗尽,没有足够资源分配给新创建的栈帧,就会抛出 java.lang.StackOverflowError 错误。 线程栈是如何运行的? 首先给出一个简单的程序调用代码示例,如下所示: public class...
java.lang.StackOverflowError 异常的原因是 java 虚拟机栈内存溢出。解决方法是设置线程最大调用深度。参数是 -Xss。 10. java.lang.OutOfMemoryError 异常: java.lang.OutOfMemoryError 异常的原因是 java 堆...
当程序递归调用层次太深或方法栈空间不足时,会抛出`StackOverflowError`。这种异常通常与递归算法的设计有关,或者是由于方法内部无限循环导致的。为了避免这类异常,可以通过调整递归算法或减少不必要的嵌套调用来...
**定义**: `java.lang.StackOverflowError` 表示程序栈空间耗尽,通常是由于递归调用没有正确终止条件造成的。 **示例**: 下面的代码会导致栈溢出异常: ```java public static void main(String[] args) { main...
栈溢出会导致`java.lang.StackOverflowError`。 - **Program Counter Register**:每个线程都有一个程序计数器,用于记录当前线程正在执行的字节码指令的地址。 - **Native Method Stack**:与本地方法相关,当...