Android布局嵌套太深导致的错误:StackOverflowError
发布日期:2021-05-09 05:16:40 浏览次数:13 分类:博客文章

本文共 701 字,大约阅读时间需要 2 分钟。

  Android项目的UI调整,下午调试了很久都不明白的一个错误,debug中报错如下:

  结果问了问XD,他就提出要看我的布局。。

  因为代码是分了好几层叠加在一起的,所以布局文件较多(一层一层找位置add进来的)。。

  然后他就告诉我是因为布局层数太深,就会导致堆栈溢出这样的崩溃。

  我大致算了一下,我的代码几个布局加起来大概有14层左右。然后还有底层其他部分的布局,可想而知。

 

  因为觉得不甘心,所以又写了一个小程序测试一下到底布局嵌套可以有多深。

  新建了一个HelloWorld程序,将布局改为如下:

   

  后面省略。。

  经过实验,加到第22层的时候就崩溃了,报错如下:

  应该跟具体软硬件环境也有关系,用的测试手机是MX 2.3.5的系统。

 

  附上布局文件,如果你也有兴趣试一试。

test_layout.xml

  

  建议就是:首先,重新考虑并重写布局。

  其次,再搜索一下布局优化方法之类的。

 

上一篇:Android设备上的传感器模拟工具:SensorSimulator
下一篇:《Head First设计模式》 读书笔记17 其余的模式(三) 备忘录 原型 访问者

发表评论

最新留言

感谢大佬
[***.8.128.20]2025年04月21日 00时35分18秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章