日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android官方开发文档Training系列课程中文版:创建自定义View之View的优化

發布時間:2024/7/5 Android 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android官方开发文档Training系列课程中文版:创建自定义View之View的优化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文地址:http://android.xsoftlab.net/training/custom-views/optimizing-view.html

現在已經完成了一個擁有良好設計的View,它即可以響應手勢,又可以在狀態之間過渡。為了避免View有卡頓的感覺,需要確保動畫始終是按照每秒60幀的頻率執行的。

盡可能的降低頻率

為了使View更加流暢,需要從頻繁調用的方法中剔除不必要的代碼。

首先從onDraw()方法開始,在該方法中動刀會有明顯的流暢感。尤其是應該移除onDraw()方法中的內存分配代碼,因為內存分配會導致垃圾回收,這可能會使程序暫停。應該在程序初始化時或在動畫開始執行之前申請內存,絕不要在動畫運行的過程中申請內存。

除了精簡onDraw()方法之外,還應該確保降低這些方法的調用頻率。onDraw()方法的大部分調用是由invalidate()方法引起的,所以要移除不必要的invalidate()執行代碼。

另一項代價非常高昂的操作就是布局的測量。每次調用requestLayout()時,Android的UI系統都會測量整個View層級來確定每個View都需要多大尺寸。如果找到尺寸有沖突的,還需要進行多次測量。UI設計者有時候需要創建內嵌ViewGroup的深層級布局來使UI布局正確。這些深層級的布局層級會引起性能問題。要使View層級盡可能的潛。

如果你有一個稍微復雜一點的UI,考慮寫一個自定義ViewGroup來執行這樣的布局。與內置的View不同,你的自定義View可以對它的子View的尺寸與形狀作個假設,這樣就可以不用去測量子View的尺寸了。餅圖示例展示了如何將ViewGroup作為自定義View的一部分。餅圖含有一些子View,但是絕對不會去測量它們。相反的,它通過獨有的自定義布局算法直接為這些View設置了尺寸。

總結

以上是生活随笔為你收集整理的Android官方开发文档Training系列课程中文版:创建自定义View之View的优化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。