中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android性能優化

發布時間:2020-03-07 11:45:18 來源:網絡 閱讀:1781 作者:小新專欄 欄目:移動開發

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


五,未完待續,暫時總結這么多。

 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

高平市| 新田县| 新丰县| 佛坪县| 中山市| 民县| 鄂温| 五指山市| 琼结县| 大余县| 南涧| 瑞安市| 淳化县| 翁牛特旗| 平湖市| 通城县| 灵川县| 麻栗坡县| 轮台县| 东乌珠穆沁旗| 成都市| 大渡口区| 丰都县| 竹溪县| 建瓯市| 大同县| 清徐县| 区。| 龙岩市| 昌平区| 儋州市| 密山市| 临城县| 水城县| 安徽省| 山阳县| 永泰县| 波密县| 兴城市| 兴山县| 贡嘎县|