Android性能优化
admin
2023-02-09 22:40:18
0

Android性能优化

按:

App的体积越来越大,App的功能越来越多,面临同一个问题,原有的App可能不适合现在的用户使用。基于“不要过早优化”的原则,在早期快速迭代反馈确定正确的方向之后,是时候做一些优化了。

 

性能优化,需要在用户的角度来思考。用户理解的“性能”是快:快速打开页面,快速找到我想要的内容,页面的切换流程,等等。

 

从三个维度来谈性能优化:

        1,  技术层面(主动)

            1-1 UI的优化应该分为三个层面来谈:

                     一个是简洁的UI代码

                     一个是较少的UI层数。

                     一个是具体view的渲染过程速度

        2,  工具层面(被动)

        3,  产品层面(主动)

 

一,基本技术原理篇

    1,  UI线程减少耗时操作

    2,  View层级减少(将线性布局转换为相对布局)

    3,  ViewStub

    4,  Merge

    5,  Include

    6,  Style

 

二,工具检测篇

   1,StrictMode

             1-1安卓2.3之后出现

             1-2用途

         探测UI线程进行的阻塞操作(网络/数据库查询)

             1-3输出

             Log

             1-4链接

              http://developer.android.com/reference/android/os/StrictMode.html



  2,Systrace

           2-1 安卓4.1之后

           2-2 用途

                  2-2-1分析app的性能,通过分析本应用进程和其他系统进程的执行时间。

                  2-2-2可以很容易分析出你的程序在UI线程的哪些函数占用了过多的时间

           2-3 输出

           通过分析android内核信息(CPU scheduler, disk activity, and application threads ),输出Html网页

           2-4 链接

                   http://developer.android.com/tools/help/systrace.html

      2-5 其他参考资料

          http://blog.csdn.net/rogeryi/article/details/8242250

      2-6 局限性

          必须在linux下运行

 

   3,  Traceview

                3-1 用途:

                      分析app具体方法执行所耗费appcpu,执行时长

        3-2  输出

  3-2-1 timeline panel 按照方法执行的先后时间顺序排列,宽度代表耗时

  3-2-2 profile panel 方法栈关系,及占用cpu,时间的具体值和比例

        3-3  链接

            http://developer.android.com/tools/debugging/debugging-tracing.html

        3-4  其他参考

            http://www.open-open.com/lib/view/open1370251009945.html

 

   4,  dumpsys gfxinfo

        4-1查看掉帧的情况,一般情况下1秒钟是60帧会保证流程,即一帧的渲染时间不超过16ms

        4-2 referencehttp://www.tuicool.com/articles/ZzmYFf重要


   5,  hierarchy viewer

       从整个View的图中,会有三个点,代表onMeasure onLayout onDraw效率,这样就可以看到拖累 加载速度的view,并且知道在View的那个步骤拖累了效率。

参看:http://developer.android.com/tools/debugging/debugging-ui.html

 

三,交互产品篇

    1,  进度条的显示

    2,  欢迎界面

    3,  重构导航

        3-1 TabDrawser的转换

    4,  插件化

    5,  功能定制化(eg,微信选择功能)


四,参考文档

    1,  http://www.yixieshi.com/it/16683.html

    2,  http://developer.android.com/tools/debugging/debugging-ui.html

    3,  http://www.oschina.net/question/195301_32202

    4,  http://blog.venmo.com/hf2t3h5x98p5e13z82pl8j66ngcmry/performance-tuning-on-android

    5,  http://www.uisdc.com/5-ways-to-slim-app


五,未完待续,暂时总结这么多。

 


相关内容

热门资讯

德国总理:美国正在被伊朗羞辱 德国之声4月27日报道,德国总理默茨在访问一所学校时表示,在当前的持续冲突中,伊朗领导层正试图羞辱美...
理响中国|“长”歌以行,风云激... 光阴如梭,东方潮阔。这里是中国的长三角,世界的长三角。无论过去、现在还是未来,这片土地都因时代而生,...
白宫:特朗普及其国安团队开会讨... 新华社华盛顿4月27日电 美国白宫新闻秘书莱维特27日在记者会上证实,总统特朗普及其国家安全团队当天...
人民日报刊文:日本放开杀伤性武... 日本放开杀伤性武器出口推高地缘冲突风险(国际论坛)常思纯《人民日报》(2026年04月28日 第 0...
医疗保障法草案二审:明确生育保... 满足多样化健康保障需求本报记者 彭 波4月27日,医疗保障法草案二审稿提请十四届全国人大常委会第二十...
天津一景区发生自转旋翼机事故1... 澎湃新闻记者 吕新文中国民用航空华北地区管理局4月22日公布《豪客通航“10•1”天津长芦汉盐旅游区...
卡塔尔埃米尔与美国总统特朗普通... 当地时间24日,卡塔尔埃米尔塔米姆与美国总统特朗普通电话,重点就中东地区局势以及伊朗与美国谈判问题交...
男子30年前被扣押2859克黄... 澎湃新闻记者 王鑫家住辽宁省大连市的潘永嘉近日向澎湃新闻反映称,三十年前,他在大连周水子机场被盖州市...
商务部:取消反制欧盟两家金融机... 中华人民共和国商务部令二〇二六年 第1号鉴于欧盟已取消对中国两家金融机构的制裁措施,现公布《关于取消...
过去24小时共有5艘船只通过霍... 总台记者当地时间24日获悉,过去24小时内,共有5艘船只通过霍尔木兹海峡,其中包括一艘伊朗油轮。(总...