描述:由于栈调用的层次太多,超过了虚拟器dalvik的最大限制(作为一个虚拟器参数,可定制)导致的。当程序编写错误导致无限递归调用时会触发,此外程序正确但是递归调用的层次过深也会触发。
解决:
1.布局报错解决:实现同样的效果的前提下减少界面的layout深度。
1) 多用RelativeLayout的各种布局属性来完成布局,而避免过多使用嵌套layout来实现。
2) 占位或填充剩余空间的元素多用View,避免使用layout等viewGroup。
2.调用报错解决:使用优化算法减少递归层次,或则使用可以替代,非递归算法。