读书人

android UI性能优化(二)-高性能界面布

发布时间: 2013-03-17 13:48:31 作者: rapoo

android UI性能优化(2)--高性能界面布局
?在LinearLayout中慎用layout_weight(绘制2次);
?减少布局的层次;
?去除不用的布局或者是累赘的的父控件;
?去除不用或者是累赘的的父控件;
?使用compound drawables;
?使用include,merge,ViewStub 标签;
?背景的优化(NinePatch省内存,透明优化绘制);
?invalidate()->onDraw(),减少invalidate次数;layout_weight:

加载背景使用theme:<resources>    <style name=“Theme.Shelves”    parent=“android:Theme”>        <item name=“android:windowBackground”>@drawable/background_app</item>        <item name=“android:windowNoTitle”>true</item>    </style></resources>(不会从默认背景过来闪一下,速度更快,内存消耗降低)
?避免在onDraw()的过程中去做大量的创建对象和内存分配;
? 尽量用invalidate (int l,int t, int r, int b)方法去替代 invalidate ()方法;
?尽量减少requestLayout()的执行时间->层次布局越浅则越好;
?有条件使用setLayerType:LAYER_TYPE_HARDWARE,其它情况则使用LAYER_TYPE_NONE;?提供的背景图片正好和视图的大小一致
?背景图片预先缩放,减少缩放次数。?ListView的每一行的item布局顶层标签尽量使用相对布局而不是线性布局,可以减少布局的层次;
?alignWithParentIfMissing的使用;

读书人网 >Android

热点推荐