android布局太深导致的 java.lang.StackOverflowError
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布局也能带来巨大的体验提升
android布局太深导致的 java.lang.StackOverflowError的更多相关文章
- Android 运行 gson.toJson(object) 报java.lang.StackOverflowError异常
如以下的代码,运行后报java.lang.StackOverflowError错误: MusicSavedInfo musicSavedInfo=new MusicSavedInfo(currentS ...
- Jackson转换对象为json的时候报java.lang.stackoverflowerror
无论在将一个对象转为json字符串的时候采用何种算法,如果你的对象的属性的类型不是基本类型或对应的引用类型,转换应该都不会就此结束,那么有一种方式可以导致这种转换陷入无限循环:将某个对象的属性设为对象 ...
- Android慎用layout嵌套, 尽量控制在5层下面java.lang.StackOverflowError
一.探寻原因 在一个复杂的layout嵌套较多layout的android界面.在Android 2.3.内存较低 的机型上,出现 java.lang.StackOverflowError 这个Exc ...
- android studio: Rejecting re-init on previously-failed class java.lang.Class<android.support.v4.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>: java.lang.NoClassDefFoundError: Failed resolution o
今天在运行部署项目时logcat弹出下列错误: -- ::-/? E/Zygote: v2 -- ::-/? I/libpersona: KNOX_SDCARD checking this -- :: ...
- Android编译报Errors running builder 'Android Pre Compiler' on project 'XXX' java.lang.NullPointerException
编译android时,遇到报错:Errors occurred during the build.Errors running builder 'Android Pre Compiler' on pr ...
- android java.lang.StackOverflowError
转自:http://hi.baidu.com/424660053/item/bee53a2633870dccddf69a17 最近做项目出现一个java.lang.StackOverflowError ...
- 【Android】java.lang.StackOverflowError: stack size 8MB
最近遇到的问题,报了两个错误,如下: java.lang.StackOverflowError: stack size 8MB android.os.TransactionTooLargeExcept ...
- java.lang.StackOverflowError解决
在使用JPA的仓储repository进行查询时,经常用到findAllbyId的方法: repository.findAllbyId() 但如果像下面的代码,当list的size量太大的话,就会报栈 ...
- java.lang.StackOverflowError: stack size 8MB
java.lang.StackOverflowError: stack size 8MB at android.text.TextUtils.getChars(TextUtils.java:86) a ...
随机推荐
- 中小型数据库 RMAN CATALOG 备份恢复方案(一)
对于数据库的稳定性,高可用,跨平台以及海量数据库的处理,Oracle 数据库通常是大型数据库和大企业的首选.尽管如此,仍然不乏很多中小企业想要品尝一下Oracle腥味,因此在Oracle环境中也有不少 ...
- Android Window 9问9答
1.简述一下window是什么?在android体系里 扮演什么角色? 答:window就是一个抽象类,他的实现类是phoneWindow.我们一般通过windowManager 来访问window. ...
- unity, 颜色随高度渐变shader
一,颜色随世界空间高度渐变. Shader "Custom/heightGradual_worldSpace" { Properties { _Color (& ...
- ueditor的工具栏显示乱码解决方法 小问题.. 是你的页面编码与语言包js编码不符所导致的
ueditor的工具栏显示乱码解决方法 小问题.. 是你的页面编码与语言包js编码不符所导致的解决方法:用记事本将ueditor\..\lang\zh-cn\zh-cn.js打开,然后保存为ANSI ...
- hdu 4333(扩展kmp)
题意:就是给你一个数字,然后把最后一个数字放到最前面去,经过几次变换后又回到原数字,问在这些数字中,比原数字小的,相等的,大的分别有多少个.比如341-->134-->413-->3 ...
- [转] C#操作Excel文件
来自 jbp74c37ad170 的文章EXCEL编程语句有那些啊 全面控制 Excel首先创建 Excel 对象,使用ComObj:Dim ExcelID as Excel.Application ...
- 处理 JSON null 和空数组及对象
描述了对 JSON 数据中使用的 null 和空数组及对象的处理. JSON 数据具有 null 和空数组及对象的概念.此部分说明其中每个概念如何映射到 null 和未设置的数据对象概念. Null ...
- Visual Studio 2005 移植 - WINVER,warning C4996, error LINK1104
Visual Studio 2005 移植 - WINVER,warning C4996, error LINK1104 一.WINVER Compile result: WINVER not d ...
- loadrunner之C语言编程
一.常量定义 #define COUNT 100 //定义全局常量#define SALARY 4000 Action(){ int total; total = C ...
- (转载)OC学习篇之---代理模式
在前一篇文章我们介绍了OC中的协议的概念,这篇文章我们就来介绍一下OC中的代理模式,关于代理模式,如果还有同学不太清楚的话,就自己去补充知识了,这里就不做介绍了,这里只介绍OC中是如何实现代理模式的. ...