1.简化布局,不要嵌套过多的、不必要的层级,也不要使用布局层级为展示内容分区块。
举个例子:帧布局中嵌套相对布局,相对布局中有个listview,listview中有个headerView,这个headerView中又有线性布局,线型布局中嵌入了一个include,include布局中有线型布局,相对布局等等。
1)根据UI适当选择RelativeLayout或LinearLayout。关于这两个ViewGroup谁更高效,许多博客都有讨论过,在此不再细说。一个是仅仅依靠横向或者纵向去排列子View;一个是根据子View之间的位置和子View与自己的位置进行排列子View。哪个实现更复杂,逻辑更多,渲染更慢,可想而知。但是同时使用多个LinearLayout嵌套,每级LinearLayout中的子View有很少,可以试试用一个RelativeLayout将其囊括。
2)占位或填充剩余空间的元素多用View或ViewStub,避免使用layout等ViewGroup。
2.简化逻辑,不要因为业务处理而过多的请求渲染页面。

3.使用ViewStub需要注意,他会把布局中的子view直接提出来,而不是整个布局替换。
参考:
1.Android开发中StackOverflowError错误实例分析

results matching ""

    No results matching ""