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 ...
随机推荐
- Hadoop Hive基础sql语法
目录 Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的 ...
- Android 混合开发 的一些心得。
其实所谓这个混合开发,也就是hybird,就是一些简单的,html5和native 代码之间的交互.很多电商之类的app里面都有类似的功能, 这种东西其实还是蛮重要的,主要就是你有什么功能都可以进行热 ...
- xxx
<div style="position:absolute;left:0px;top:50px;width:1300px;height:550px;"><d ...
- uglifyjs使用
1.安装Nodejs:去这里下载并安装. 2.打开cmd,运行npm,node应该会有输出东西 3.如果在window上运行Node.js的npm报Error: ENOENT, stat 'C:\Us ...
- Apache加载PHP.ini顺序
网上找到一份关于Apache加载PHP.ini顺序的文档: (1) apache的httpd.conf中的PhpIniDir: (2) 注册表键值:HKEY_LOCAL_MACHINE->SOF ...
- oracle 组函数
一.组函数嵌套 ORACLE中规定,组函数嵌套只能嵌两层.其实多层嵌套并没有实际的用途,因此ORACLE没有提供组函数的多层嵌套.但是,单行函数是可以多层嵌套的. 二. 1.Oracle包含以下组函数 ...
- 【Linux】一个简单的线程创建和同步的例子
最近很多精力在Linux上,今天简单看了一下Linux上的线程和同步,其实不管windows还是Linux,OS层面的很多原理和概念都是相同的,很多windows之上的经验和概念完全可以移植到Linu ...
- 任务(Tasks)
在Eclipse中用TODO标签管理任务,利用这个功能可以方便地将项目中一些需要处理的任务记录下来.我们可以通过在java注释里添加任务标签来标记一个任务,任务可以通过Tasks(任务)视图来察看. ...
- 推荐一个网站Stack Overflow
网站URL:http://stackoverflow.com 我是怎么知道这个网站的呢?其实这个网站非常出名的,相信许多人都知道.如果你不知道,请继续阅读: 一次我在CSDN上面提问,但是想要再问多几 ...
- Hadoop2.3+Hive0.12集群部署
0 机器说明 IP Role 192.168.1.106 NameNode.DataNode.NodeManager.ResourceManager 192.168.1.107 Secondary ...