android 性能優(yōu)化之布局優(yōu)化

注:本文內(nèi)容是《Android 群英傳》學(xué)習(xí)筆記,主要提煉書(shū)中內(nèi)容然后加上部分自己的完善和補(bǔ)充痊夭。

android 渲染機(jī)制

  1. 16ms :1000ms在顯示60幀畫(huà)面的單位時(shí)間硬萍。系統(tǒng)通過(guò)VSYNC信號(hào)出發(fā)對(duì)UI的渲染珊蟀、重繪远寸。
  • 檢測(cè)UI渲染時(shí)間工具
    • 開(kāi)發(fā)者選項(xiàng)->Profile GPU Rendering(GPU配置未見(jiàn))->On the screen as bars(以條的形式顯示與屏幕)
    • 每一條柱狀先都包含三部分
    • 藍(lán)色代表測(cè)量繪制Display List的時(shí)間途蒋,
    • 紅色代表OpenGL渲染Display List 所需要的時(shí)間
    • 黃色代表CPU等待GPU處理的時(shí)間猛遍。
    • 中間的綠色橫線(xiàn)代表VSYNC時(shí)間16ms
    • 需要盡量將所有條形圖都控制在這條綠線(xiàn)之下。

避免Overdraw

避免Overdraw 号坡,開(kāi)發(fā)者選項(xiàng)中有一個(gè)檢測(cè)工具(Enable GPU Overdraw 調(diào)試GPU過(guò)度軒渲染)懊烤,減少紅色區(qū)域,增加藍(lán)色區(qū)域宽堆。

優(yōu)化布局層次

Google建議View 的高度不應(yīng)超過(guò)10層腌紧,避免嵌套過(guò)多。

ViewStub 實(shí)現(xiàn)view的延遲加載

  1. ViewStub默認(rèn)不加載
  • 兩種方式顯示通過(guò)ViewStub 加載顯示的View
  • mViewStub = (ViewStub)findViewById(R.id.viewstub); mViewStub.setVisiable(View.VISIABLE);
  • View inflateView = mViewStub.inflate();
    區(qū)別是inflate()方法可以返回引用的布局畜隶,可以通過(guò)findViewById 找到layout加載的空間壁肋。兒不管使用哪種方式号胚,一旦<ViewStub>被設(shè)置為可見(jiàn)或者inflate了,<ViewStub>就不存在了浸遗。并將這個(gè)Layout 的ID重新設(shè)置為<ViewStub>中通過(guò)android:inflateId屬性所指定的ID猫胁。
<ViewStub> 只有在顯示的時(shí)候才回去渲染。#####

利用sdk tools中的hierarchyviewer.bat工具分析

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末跛锌,一起剝皮案震驚了整個(gè)濱河市弃秆,隨后出現(xiàn)的幾起案子媒峡,更是在濱河造成了極大的恐慌悠汽,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件事格,死亡現(xiàn)場(chǎng)離奇詭異氢卡,居然都是意外死亡锈至,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)译秦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)峡捡,“玉大人,你說(shuō)我怎么就攤上這事筑悴∶亲荆” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵阁吝,是天一觀的道長(zhǎng)砚婆。 經(jīng)常有香客問(wèn)我,道長(zhǎng)突勇,這世上最難降的妖魔是什么装盯? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮甲馋,結(jié)果婚禮上埂奈,老公的妹妹穿的比我還像新娘。我一直安慰自己定躏,他們只是感情好账磺,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著痊远,像睡著了一般垮抗。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上碧聪,一...
    開(kāi)封第一講書(shū)人閱讀 52,441評(píng)論 1 310
  • 那天冒版,我揣著相機(jī)與錄音,去河邊找鬼逞姿。 笑死壤玫,一個(gè)胖子當(dāng)著我的面吹牛豁护,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播欲间,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼楚里,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了猎贴?” 一聲冷哼從身側(cè)響起班缎,我...
    開(kāi)封第一講書(shū)人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎她渴,沒(méi)想到半個(gè)月后达址,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡趁耗,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年沉唠,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片苛败。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡满葛,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出罢屈,到底是詐尸還是另有隱情嘀韧,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布缠捌,位于F島的核電站锄贷,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏曼月。R本人自食惡果不足惜谊却,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望哑芹。 院中可真熱鬧因惭,春花似錦、人聲如沸绩衷。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)咳燕。三九已至,卻和暖如春乒躺,著一層夾襖步出監(jiān)牢的瞬間招盲,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工嘉冒, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留曹货,地道東北人咆繁。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像顶籽,于是被迫代替她去往敵國(guó)和親玩般。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359

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