30.4UI性能优化
1 通过<include>标签嵌入布局。
2 使用Fragment复用布局。
3 通过<merge>标签减少布局层次。
4 使用ViewStub减少创建布局时加载的资源。
5 使用android:visibility="gone"代替android:visibility="invisibility",减少布局时要处理的控件。
6 在某个方向上使用了weight ,那在对应的方向上设置android:layout_width="0dp"或者 android:layout_height="0dp",以减少布局时的运算量。
7 尽量避免在测量(OnMeasure)、布局(OnLayout)和绘制(OnDraw)中做过于耗时及耗内存操作,尽量减少这些步骤的执行次数。
8 避免不必要的android:background属性设置或代码中对背景的设置;父视图和子视图的背景色是一样的时候,子视图中不必再设置背景;尤其是用<include>这种方式嵌入布局的时候,注意include的布局文件中是否有重复设置背景。
9 使用clipRect绘制特定区域,减少绘制的工作量。
10 在ListView等列表组件中,尽量避免使用LinearLayout的layout_weight属性。
<

本文介绍了APP UI性能优化的多种方法,包括通过<include>标签嵌入布局,使用Fragment复用,利用<merge>标签减少层次,使用ViewStub,用gone代替invisibility,合理设置layout_width/height,避免在测量、布局、绘制中做耗时操作,减少不必要的背景设置,使用clipRect,避免LinearLayout的layout_weight,减少布局嵌套,以及自定义控件阻断不必要的布局更新,以提升用户体验。
订阅专栏 解锁全文
9378

被折叠的 条评论
为什么被折叠?



