android 啟動速度優化

2021-09-24 07:06:33 字數 1529 閱讀 3296

冷啟動(cold start)

溫啟動(warm start)

熱啟動(hot start)

時間獲取 我們可以使用adb命令啟動應用,來獲取當前應用的啟動時間

adb shell am start -w [packagename]/[.mainactivity]

複製**

總共返回了三個結果,我們以 waittime 為準.

thistime:一般和totaltime時間一樣,除非在應用啟動時開了乙個透明的activity預先處理一些事再顯示出主activity,這樣將比totaltime小。

waittime:一般比totaltime大點,包括系統影響的耗時。

系統建立應用程式程序,應用程式程序就會執行以下操作:

1.建立應用程式物件

2.啟動主線程

3.建立主要activity

4.繪製檢視(view)

5.布局螢幕

6.執行初始化繪製

所以優化啟動速度本質上是優化上訴過程,減少這些過程的耗時。

視覺優化

開啟乙個應用總會有短暫的黑(白)屏的情況,導致體驗上有卡頓的問題,可設定第乙個activity為透明或者為其設定乙個背景達到視覺上的優化, 如下

1.第三方sdk初始化的處理

下面例項對比下imageloader在採用懶載入後啟動速度優化。

public

class

extends

}複製**

懶載入imageloader的工具類示例:

public

class

imageutil

imageloaderconfiguration.builder config =

....

// initialize imageloader with configuration.

imageloader.getinstance().init(config.build());

sinit = true;

}public

static

void

display

(string uri, imageview imageview, boolean cacheondisk)

else

}}複製**

在主線程做大量耗時操作,例如和io相關的邏輯,這樣都會影響到應用啟動速度。如果必須要做需要放到子執行緒中。

多執行緒避免執行不必要的操作

activity oncreate優化

減少launchactivity的view層級,減少view測量繪製時間;使用viewstub,將無必要的view(如開機廣告)延遲載入

主線程避免i/o操作、反序列化、網路操作等。

Android啟動速度優化

fyi 可以學習如何優化android啟動速度。個人認為可以從以下幾個方面。1 u boot 優化u boot體積,減少不需要的驅動和命令。2 kernel 1 模組載入方式 如usb等費時間的子系統 2 移除kernel calibrate delay和crc check 以上兩個使用最新的編譯器...

Android 應用啟動速度優化

開發android應用中,隨著功能越來越多,啟動速度越來越慢。有沒有辦法讓自己應用啟動速度快一點呢?方法是人想出來的。先說說我的實現方法 1 將oncreate 中初始化的內容,移動到執行緒中做初始化,載入等 2 初始化完成之後,通過handler傳送訊息,3 hander 中收到訊息後,再初始化完...

Android 應用啟動速度優化

解決如下 style檔案中新增 1 style name parent android style theme.notitlebar.fullscreen 2 item name android windowbackground drawable splash item 3 item name an...