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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

android 优化启动事件,张绍文android开发高手课读书笔记4-启动优化篇

發布時間:2025/4/5 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 优化启动事件,张绍文android开发高手课读书笔记4-启动优化篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

啟動優化篇

在說如何對啟動時間進行優化之前,我們得先知道從用戶點擊應用圖標開始,一共經歷了那些階段。

主要階段如下圖.

image

T0~T1階段

這個階段是手機系統解析點擊事件,效應快慢跟手機性能有關

T1~T2階段

系統在正式啟動應用之前,會根據應用設置的Theme設置一個預覽界面.

應用啟動白屏也是發生在這里,如果你沒有設置對應的Theme,并且Activity的onCreate函數執行所需要的時間過長,就會出現白屏的情況.比較可行的解決方式是給啟動頁的Theme設置一張背景圖。如下

android:name=".view.SplashActivity"

android:theme="@style/LauncherTheme">

@drawable/logo_bg

這樣的話,在點擊應用圖標后,就會先顯示一張背景圖,

另外還可以將預覽窗口指定為透明的,這樣用戶在看到閃屏頁之前會一直帶著桌面,但這樣就會給用戶一種點了很久才會看到界面的感覺。

在預覽界面顯示之后,便會創建Application和閃屏頁,大部分應用都會在這個時候初始化各種功能.因而導致

預覽界面~閃屏界面顯示 這個時間會很長.如何優化

除了必須要在Application中初始化的功能,我們可以把其他一些功能的初始化移到閃屏頁中,因為大多數應用的閃屏頁都會停留幾秒鐘。這里還要注意的是,移到閃屏頁初始化的功能代碼,不要放在onCreate生命周期下,而是另外開啟一個線程來做初始化行為。

另外,多線程的切換會影響CPU的性能.所以如果你的應用在啟動時需要開多個線程的話,需要考慮用線程池來維護

T2~T3階段

在閃屏頁顯示的時候,會開始主頁視圖的繪制,這個時候需要注意,因為之前說到,閃屏頁中會開啟子線程去初始化一些功能。如果需要初始化的模塊過多,開始加載首頁的時候還沒初始化完成,恰巧這個時候首頁又需要用到這個模塊.那這個時候就會報錯。

所以首頁需要用到的模塊必須得在調用之前初始化成功。

T3~T4階段

首頁正常顯示了,但這個時候你不一定就能點擊,問題還是在于有些功能模塊的代碼還未初始化完成。

總結

界面顯示上:

預覽窗口可以采用自由logo背景或者與閃屏頁共用,以防止白屏.

模塊初始化:

application中初始化一部分必要的模塊,閃屏頁通過子線程加載一部分模塊,剩下的非緊急的模塊用懶加載的方式,

其中懶加載要防止集中化,不然可能會出現一次加載太多,導致某個界面無法操作的情況。

作者:niknowzcd

鏈接:https://www.jianshu.com/p/6be6cdfb5beb

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的android 优化启动事件,张绍文android开发高手课读书笔记4-启动优化篇的全部內容,希望文章能夠幫你解決所遇到的問題。

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