Android 性能優(yōu)化之啟動加速

一袋马、應(yīng)用的啟動過程

冷啟動啟動流程:

當(dāng)點擊app的啟動圖標(biāo)時虑凛,安卓系統(tǒng)會從Zygote進(jìn)程中fork創(chuàng)建出一個新的進(jìn)程分配給該應(yīng)用桑谍,之后會依次創(chuàng)建和初始化Application類祸挪、創(chuàng)建MainActivity類、加載主題樣式Theme中的

windowBackground等屬性設(shè)置給MainActivity以及配置Activity層級上的一些屬性雹仿、再inflate布局整以、當(dāng)onCreate/onStart/onResume方法都走完了后最后才進(jìn)行contentView的measure/layout/draw顯示在界面上公黑,所以直到這里,

應(yīng)用的第一次啟動才算完成人断,這時候我們看到的界面也就是所說的第一幀恶迈。所以蝉绷,總結(jié)一下,應(yīng)用的啟動流程如下:

Application的構(gòu)造器方法——>attachBaseContext()——>onCreate()——>Activity的構(gòu)造方法——>onCreate()——>配置主題中背景等屬性——>onStart()——>onResume()——>測量布局繪制顯示在界面上辆床。

二讼载、應(yīng)用的啟動方式

1中跌、冷啟動:當(dāng)啟動應(yīng)用時漩符,后臺沒有該應(yīng)用的進(jìn)程嗜暴,這時系統(tǒng)會重新創(chuàng)建一個新的進(jìn)程分配給該應(yīng)用闷沥,這個啟動方式就是冷啟動舆逃。
2、熱啟動:當(dāng)啟動應(yīng)用時路狮,后臺已有該應(yīng)用的進(jìn)程(例:按back鍵、在已有進(jìn)程的情況下涂籽,這種啟動會從已有的進(jìn)程中來啟動應(yīng)用又活,這個方式叫熱啟動

特點

1柳骄、冷啟動:冷啟動因為系統(tǒng)會重新創(chuàng)建一個新的進(jìn)程分配給它耐薯,所以會先創(chuàng)建和初始化Application類丝里,再創(chuàng)建和初始化MainActivity類(包括一系列的測量杯聚、布局幌绍、繪制)傀广,最后顯示在界面上。
2誓酒、熱啟動:熱啟動因為會從已有的進(jìn)程中來啟動靠柑,所以熱啟動就不會走Application這步了病往,而是直接走M(jìn)ainActivity(包括一系列的測量停巷、布局畔勤、繪制)扒磁,所以熱啟動的過程只需要創(chuàng)建和初始化一個MainActivity就行了妨托,而不必創(chuàng)建和初始化Application

三、解決冷啟動慢的方法優(yōu)化方案:

黑白屏產(chǎn)生原因:當(dāng)我們在啟動一個應(yīng)用時钧排,系統(tǒng)會去檢查是否已經(jīng)存在這樣一個進(jìn)程恨溜,如果不存在糟袁,系統(tǒng)的服務(wù)會先檢查startActivity 中的intent 的信息项戴,然后在去創(chuàng)建進(jìn)程肯尺,最后啟動Acitivy则吟,即冷啟動氓仲。

而啟動出現(xiàn)白黑屏的問題敬扛,就是在這段時間內(nèi)產(chǎn)生的朝抖。系統(tǒng)在繪制頁面加載布局之前治宣,首先會初始化窗口(Window)侮邀,而在進(jìn)行這一步操作時,系統(tǒng)會根據(jù)我們設(shè)

置的Theme 來指定它的Theme 主題顏色铝宵,我們在Style 中的設(shè)置就決定了顯示的是白屏還是黑屏鹏秋。

1.Application 優(yōu)化(懶加載,延時加載)

2.UI效果侣夷,背景圖

3.fragment的懶加載

4.延時加載

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市耐版,隨后出現(xiàn)的幾起案子粪牲,更是在濱河造成了極大的恐慌止剖,老刑警劉巖穿香,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件焙蚓,死亡現(xiàn)場離奇詭異购公,居然都是意外死亡宏浩,警方通過查閱死者的電腦和手機(jī)靠瞎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進(jìn)店門印蔗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來华嘹,“玉大人耙厚,你說我怎么就攤上這事薛躬⌒捅Γ” “怎么了?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長岖寞。 經(jīng)常有香客問我指巡,道長藻雪,這世上最難降的妖魔是什么阔涉? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任瑰排,我火速辦了婚禮椭住,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘葫掉。我一直安慰自己俭厚,他們只是感情好叼丑,可當(dāng)我...
    茶點故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布纵寝。 她就那樣靜靜地躺著爽茴,像睡著了一般室奏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上酱畅,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天纺酸,我揣著相機(jī)與錄音餐蔬,去河邊找鬼樊诺。 笑死音同,一個胖子當(dāng)著我的面吹牛顿膨,可吹牛的內(nèi)容都是我干的恋沃。 我是一名探鬼主播囊咏,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼研侣,長吁一口氣:“原來是場噩夢啊……” “哼庶诡!你這毒婦竟也來了末誓?” 一聲冷哼從身側(cè)響起喇澡,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎呕屎,沒想到半個月后秀睛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蹂安,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年缠黍,在試婚紗的時候發(fā)現(xiàn)自己被綠了瓷式。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡廊驼,死狀恐怖妒挎,靈堂內(nèi)的尸體忽然破棺而出酝掩,到底是詐尸還是另有隱情期虾,我是刑警寧澤镶苞,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布壕鹉,位于F島的核電站晾浴,受9級特大地震影響牛郑,放射性物質(zhì)發(fā)生泄漏敬鬓。R本人自食惡果不足惜钉答,卻給世界環(huán)境...
    茶點故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一仑性、第九天 我趴在偏房一處隱蔽的房頂上張望诊杆。 院中可真熱鬧晨汹,春花似錦淘这、人聲如沸钠怯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蔑滓。三九已至喉刘,卻和暖如春宋彼,著一層夾襖步出監(jiān)牢的瞬間仙畦,已是汗流浹背莱坎。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留乃正,地道東北人瓮具。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像传睹,于是被迫代替她去往敵國和親蒋歌。 傳聞我的和親對象是個殘疾皇子堂油,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,914評論 2 355

推薦閱讀更多精彩內(nèi)容