從細節處談Android冷啟動優化

2021-08-26 05:27:14 字數 1355 閱讀 6316

本文的思路如下:先以本次雲課堂b版本、c版冷啟動優化為切入點,闡述如何做冷啟動優化(第

一、二、三、四段落)。然後以此為demo,抽取通常做乙個技優/技改的思路、方**(第五段落)。

引用google的官方定義:

launching the main thread.

creating the main activity.

inflating views.

laying out the screen.

performing the initial draw.

如下圖:

一開始目測,雲課堂android客戶端大眾版和企業版的冷啟動時間都不是特別理想,表現為:

幾個原則:

是不是非常easy?從android自身原理的乙個小細節,就可以給使用者提公升非常大的體驗。

public ilivemodule getlivemodule()

public ilivemodule getlivemodule()         return module;

}

3)、splash頁面跳轉至main頁面的邏輯優化

如上文中說的歷史遺留問題,修復這個問題,效能一下子提公升了1s+。

4)、別的一些細節點

如:啟動過程可能會用到一些utils等工具類,某些utils類中定義了靜態變數,這些靜態變數的初始化有一定的耗時,可以把靜態變數的初始化移到第一次使用的時候。這樣可以避免在用到工具類的其他方法時提前做了沒必要的初始化。

5)、抓細節

冷啟動的優化是個非常瑣碎的事情,先把大頭去掉,後面就是摳細節,細節處深挖,能節約一點時間算一點,螞蟻小也是肉。

以下是c版的資料比對:

會隨著c版5.5.0上線,b版1.8.3上線。

任何一項技術優化,到最後,都是在摳細節,抓住細節處,精益求精,正如網易的slogan:「以匠心,致創新」。

乙個技術優化改造,無非就是這幾步:

在具體做的過程中,我們可以更細化,比如:

不要怕事小,而在於用什麼心做這件事情。

原文:從細節處談android冷啟動優化

網易雲新使用者大禮包:

Android 冷啟動(所謂白屏)優化方案

在styles.xml中自定義乙個style stylename welcometheme parent itemname android windowbackground drawable welcomelaunch item 這裡是設定你想要顯示的 itemname android window...

Android效能優化之冷啟動優化

冷啟動 cold start 溫啟動 warm start 熱啟動 hot start adb shell am start w packagename packagename.activity 例如 adb shell am start w com.dateyou.test com.datayou...

Android異常與效能優化 冷啟動優化

冷啟動優化 一 什麼是冷啟動 1.冷啟動的定義 冷啟動就是在啟動應用前,系統中沒有該應用的任何程序資訊 2.冷啟動 熱啟動的區別 熱啟動 使用者使用返回鍵退出應用,然後馬上又重新啟動應用 特點3.冷啟動時間計算 這個時間值從應用啟動 建立程序 開始計算,到完成檢視的第一次繪製 即activity內容...