美文网首页APP开发实战
APP开发实战124-APP UI性能优化

APP开发实战124-APP UI性能优化

作者: xjbclz | 来源:发表于2017-01-15 21:44 被阅读18次

    30.4UI性能优化

    1 通过标签嵌入布局。

    2 使用Fragment复用布局。

    3 通过标签减少布局层次。

    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的布局文件中是否有重复设置背景。

    9 使用clipRect绘制特定区域,减少绘制的工作量。

    10 在ListView等列表组件中,尽量避免使用LinearLayout的layout_weight属性。

    11 尽量减少布局的嵌套层数,如包含一个ImageView和TextView的线性布局,可以用CompoundDrawable的TextView来代替。

    12 在ListView滑动,广告动画变化等过程中,图片和文字有变化,经常会发现整个界面被重新布局,影响了性能。尤其布局复杂时,测量过程很费时导致明显卡顿。对于大小基本固定的控件和布局例如TextView,ImageView来说,这是多余的损耗。可以用自定义控件来阻断,重写方法requestLayout、onSizeChanged,如果大小没有变化就阻断这次请求。对于ViewPager等广告条,可以设置缓存子view的数量为广告的数量。

    相关文章

      网友评论

        本文标题:APP开发实战124-APP UI性能优化

        本文链接:https://www.haomeiwen.com/subject/kwrubttx.html