Android 效能優化

2021-08-21 03:56:43 字數 1261 閱讀 8515

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 裡自帶,可以用來跟...