1.什麼是效能優化
效能優化有3種優化方面-------》記憶體優化 布局優化 啟動優化
<1>記憶體優化
主要說一下記憶體洩漏:
造成記憶體洩漏的原因有這些:
1. handler:當handler.sendmessaeg()傳送訊息時,作為非靜態內部類,如果此時activity已經銷毀,handler和message將會存入messagequeue中無法銷毀,使用造成記憶體洩漏!解決:在子執行緒中進行耗時操作;建立靜態內部類,退出activity時執行handler.sendcallbackandmessage(null)用來清空訊息佇列。
2. webveiw:用完及時在ondestory()中銷毀;
3. 讀寫檔案:用io流讀取檔案等操作之後一定要及時關閉流
4. 廣播:廣播在activity中註冊,但activity已經銷毀,所以會造成記憶體洩漏,所以記得解註冊!
<2>布局優化
①簡單布局就用linearlerayout,因為在優化方面frangleayout>linearleayout>relativelayout
②複雜布局就用relativelayout,為什麼不用linearlerayout,因為乙個複雜的布局用linearlerayout必定會進行多層巢狀,這樣下來可讀性遠遠小於relativelayout,所以不推薦使用
③刪除布局中無用的控制項和層級
④使用⑤viewstub是view的子類,輕量級view,隱藏的沒有尺寸
⑥使用最新布局 constaintlayout 使用它得匯入依賴:
<3> 啟動優化
1. 啟動優化分為冷啟動和熱啟動
冷啟動:當啟動應用時,後台沒有該應用的程序,這時系統會重新建立乙個新的程序分配給該應用(比較慢)
熱啟動:當啟動應用時,後台已有該應用的程序,在已有程序中啟動應用
<4>啟動主線程
<5>建立啟動的activity物件
<6>載入view
<7>布置螢幕
<8>進行第一次繪製
原因:解決
替換window背景----》在啟動activity介面標籤下面設定乙個樣式用9.png格式的
接下來給大家介紹幾個記憶體檢測工具,幫助大家開發
<1>hierarchyviewer:檢測布局複雜度,各檢視的布局耗時情況
<2>ddms-mat:記憶體洩漏檢測工具
<3>itest:android自動化效能監控工具,cpu,記憶體,流量,電量等
還有好多就不一一枚舉了,反正核心功能就是進行記憶體檢測
Android效能優化
android效能優化 1.http用gzip壓縮,設定連線超時時間和響應超時時間 http請求按照業務需求,分為是否可以快取和不可快取,那麼在無網路的環境中,仍然通過快取的httpresponse瀏覽部分資料,實現離線閱讀。2.listview 效能優化 1 復用convertview 在geti...
Android效能優化
1.節制地使用service 如果應用程式當中需要使用service來執行後台任務的話,請一定要注意只有當任務正在執行的時候才應該讓service執行起來。另外,當任務執行完之後去停止service的時候,要小心service停止失敗導致記憶體洩露的情況 2.當介面不可見時釋放記憶體 當使用者開啟另...
Android效能優化
本篇主要是對 google推出的效能優化典範 進行乙個通篇的整理 主要在於一些具體的優化技巧 至於60fps 掉幀 gc 記憶體抖動 閾值 等等這些效能術語的概念裡面不做多概括,請自行查閱 本篇從以下幾點延伸擴充套件 systrace systrace 在android ddms 裡自帶,可以用來跟...