美文网首页
android 性能优化之布局优化

android 性能优化之布局优化

作者: 简南京路 | 来源:发表于2016-01-07 13:59 被阅读171次

    注:本文内容是《Android 群英传》学习笔记,主要提炼书中内容然后加上部分自己的完善和补充。

    android 渲染机制

    1. 16ms :1000ms在显示60帧画面的单位时间。系统通过VSYNC信号出发对UI的渲染、重绘。
    • 检测UI渲染时间工具
      • 开发者选项->Profile GPU Rendering(GPU配置未见)->On the screen as bars(以条的形式显示与屏幕)
      • 每一条柱状先都包含三部分
      • 蓝色代表测量绘制Display List的时间,
      • 红色代表OpenGL渲染Display List 所需要的时间
      • 黄色代表CPU等待GPU处理的时间。
      • 中间的绿色横线代表VSYNC时间16ms
      • 需要尽量将所有条形图都控制在这条绿线之下。

    避免Overdraw

    避免Overdraw ,开发者选项中有一个检测工具(Enable GPU Overdraw 调试GPU过度轩渲染),减少红色区域,增加蓝色区域。

    优化布局层次

    Google建议View 的高度不应超过10层,避免嵌套过多。

    ViewStub 实现view的延迟加载

    1. ViewStub默认不加载
    • 两种方式显示通过ViewStub 加载显示的View
    • mViewStub = (ViewStub)findViewById(R.id.viewstub); mViewStub.setVisiable(View.VISIABLE);
    • View inflateView = mViewStub.inflate();
      区别是inflate()方法可以返回引用的布局,可以通过findViewById 找到layout加载的空间。儿不管使用哪种方式,一旦<ViewStub>被设置为可见或者inflate了,<ViewStub>就不存在了。并将这个Layout 的ID重新设置为<ViewStub>中通过android:inflateId属性所指定的ID。
    <ViewStub> 只有在显示的时候才回去渲染。#####

    利用sdk tools中的hierarchyviewer.bat工具分析

    相关文章

      网友评论

          本文标题:android 性能优化之布局优化

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