老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

如何在Android項目中優化卡頓

如何在Android項目中優化卡頓?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

創新互聯主營古雷港網站建設的網絡公司,主營網站建設方案,重慶App定制開發,古雷港h5重慶小程序開發公司搭建,古雷港網站營銷推廣歡迎古雷港等地區企業咨詢

卡頓原因

過于復雜的布局

  • 界面性能取決于 UI 的渲染性能,UI 渲染的整個過程由 CPU 和 GPU 兩個部分協同完成。CPU 負責 UI 布局元素的 Measure、Layout、Draw 等相關運算執行,GPU負責柵格化(rasterization),將 UI 元素繪制到屏幕上。

  • 如果 UI 布局層次太深,或是自定義控件的 onDraw 中有復雜運算,CPU 的相關運算就可能大于 16ms,導致卡頓。

過度繪制

UI 線程的復雜運算

  • UI 線程的復雜運算會造成 UI 無響應,導致 ANR,但更多的是造成 UI 響應停滯卡頓,ANR 是卡頓的極致。

頻繁的 GC

優化方法

1、減少刷新次數

比如進度更新,要進度有變化再去刷新,且保證頻率不得高于系統的刷新頻率。

2、避免非必要的刷新

若控件不可見,則無需刷新。

3、避免后臺線程影響

如列表控件,在滑動時不要去加載圖片,可以在滑動監聽里停止圖片的加載。

4、局部刷新

如 RecyclerView 的 DiffUtil。自定義 View 可以使用下面兩個方法:

invalidate(Rect dirty);
invalidate(int left, int top, int right, int bottom);

5、盡量使用屬性動畫,它減少了自身的重繪。最后要清除

StringBuilder,List 等在創建時傳入一個合適的參數指定初始容量,以避免頻繁擴容的開銷。

6、開啟硬件加速

7、原理可見 Android硬件加速原理與實現簡介,理解Android硬件加速原理的小白文

Application 級別

Activity 級別

Window 級別

getWindow().setFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);

View 級別

// 如果是 software,會將 View 繪制到一個 Bitmap,
// 然后依然是通過硬件加速將 Bitmap 繪制到 Canvas
view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
  • LAYER_TYPE_NONE:普通渲染方式,不會返回一個離屏的緩沖,默認值。

  • LAYER_TYPE_HARDWARE:如果這個應用使用了硬件加速,這個 View 將會在硬件中渲染為 硬件紋理,如果應用程序并沒有被硬件加速,則其效果和 LAYER_TYPE_SOFTWARE 相同。

  • LAYER_TYPE_SOFTWARE:此 View 通過軟件渲染為一個 Bitmap。

檢查是否開啟了硬件加速

view.isHardware-Accelerated();
Canvas.isHardwareAccelerated();

如果 View 中要處理中文長文本,需要關閉硬件加速。因為每個中文編碼不一樣,緩存效果不理想。

監控

  1. 《Android 應用性能優化最佳實踐》2.8 章,主要利用 MainLooper 里的 Printer。

  2. BlockCanary 開源庫

  3. StrctMode

ANR

Activity 的 View:5 秒無響應
BroadcastReceiver:10 秒無響應
Service:20 秒無響應

ANR 時,系統會生成一個 traces.txt 的文件放在 /data/anr/ 下。通過 adb 命令將其導出到本地

$adb pull data/anr/traces.txt ~/Desktop

關于如何在Android項目中優化卡頓問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創新互聯行業資訊頻道了解更多相關知識。


網頁標題:如何在Android項目中優化卡頓
標題路徑:http://www.xueling.net.cn/article/pesjos.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 国产精品久久久久久亚洲美女高潮 | 一区二区三区四区国产精品视频 | 老司机精品成人无码AV | 亚洲a一级视频 | 色欲午夜无码久久久久久 | 久草女人 | www.日韩.com| 在线观看sm重口一区二区 | 午夜大尺度福利视频 | 欧美性色黄在线视 | 538PROM精品视频在线搬运工 | 国产盗摄一区二区三区在线 | 午夜精品二区 | 亚洲成人毛片 | 亚洲国产精品一区二区三区 | 韩国女主播一区二区三区 | 自拍偷拍第5页 | cijilu在线视频一噜噜嘿 | 国产精品网站一区二区三区 | 91精品日韩| 成年免费在线观看 | 亚洲妇女水蜜桃AV网网站 | 日本aa级毛片免费观看 | 久草香蕉依人在线 | 嫩草网站 | 2014天堂| 亚洲一区二区三区精品中文字幕 | 日韩熟女精品一区二区三区 | cijilu在线视频一噜噜嘿 | 欧洲美女粗暴牲交 | 猫咪成人在线观看 | 国产三级Av一区二区三区 | 国产一区二区精品久 | 成人小视频在线免费观看 | 99精品久久久久久久婷婷 | 香蕉久久夜色精品国产更新时间 | 久久出品 | 999zyz视频资源在线观看 | 天天爱天天做天天做天天吃中文 | 亚洲欧美另类久久久精品能播放的 | 色蜜av|