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 ...
随机推荐
- 如何在VMware虚拟机间建立共享磁盘?
在同一台电脑上,有时难免要安装多个虚拟机,存储空间就成了最大的问题,那么如何解决虚拟机的硬盘问题呢,Vmware自带的工具可以很好的解决此问题,下面我们就来看看如何在Vmware虚拟机间建立共享磁盘? ...
- Linux下ntpdate时间同步
Linux下ntpdate时间同步 Ntp服务器配置(暂略,以后整理) 时间同步方法 同步命令 # ntpdate ntp服务器域名或IP 例:# nt ...
- 理解Mysql的索引与优化
转自:http://www.cnblogs.com/hustcat/archive/2009/10/28/1591648.html 写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库 ...
- stitch image app (Qt)
result how to use? source code http://7qnct6.com1.z0.glb.clouddn.com/dropSelect.rar
- html --- VML --- javascript --- 旋转矩形
矢量标记语言 --- Vector Markup Language 运行它的代码需要打开IE的兼容性视图 如有疑问请参考:http://msdn.microsoft.com/en-us/library ...
- 数往知来 ASP.NET_多线程_Socket<十五>
一.ASP.NET B/S 做网站(动态).管理系统(OA,进销存等) C/S--窗体软件 为什么现在很少用C/S做进销存等软件 B/S部署方便 C/S要安装 动态:与服务器(IIS(软件))进 ...
- bzoj 1806 [Ioi2007]Miners 矿工配餐(DP)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1806 [题意] 给定一个权在1..3内的序列,在保持相对位置不变的情况下拆分成两个序列 ...
- Java的平台无关性
转载自:http://www.cnblogs.com/Y/archive/2011/03/22/JavaVM_Learning_Chapter2_Platform_Independence.html ...
- 关于dom节点绑定滑动事件导致浏览器上下滑动失效解决方案--黄丕巧
1.移动端开发往往需要添加一下自定义的左右滑动事件,但是添加了左右滑动事件之后就要阻止浏览器大默认事件,否则dom节点的滑动事件和浏览器本身的滑动会出现冲突,导致滑动的时候会出现消失瞬间再出现的效果 ...
- CSRF简单介绍及利用方法-跨站请求伪造
0x00 简要介绍 CSRF(Cross-site request forgery)跨站请求伪造,由于目标站无token/referer限制,导致攻击者可以用户的身份完成操作达到各种目的.根据HTTP ...