RecyclerView setHasFixedSize(true); 的作用

下文翻譯:RecyclerView的尺寸在每次改變時,比如你加任何些東西烫扼。setHasFixedSize 的作用就是確保尺寸是通過用戶輸入從而確保RecyclerView的尺寸是一個常數(shù)。RecyclerView 的Item寬或者高不會變性锭。每一個Item添加或者刪除都不會變启涯。如果你沒有設(shè)置setHasFixedSized沒有設(shè)置的代價將會是非常昂貴的。因為RecyclerView會需要而外計算每個item的size划纽,

void onItemsInsertedOrRemoved() {

if (hasFixedSize) layoutChildren();

else requestLayout();

}

RecyclerView size changes every time you add something no matter what. What setHasFixedSize does is that it makes sure (by user input) that this change of size of RecyclerView is constant. The height (or width) of the item won't change. Every item added or removed will be the same. If you dont set this it will check if the size of the item has changed and thats expensive. Just clarifying because this answer is confusing.–ArnoldBMay 25 at 18:42

verysimplified version of RecyclerView has:

void onItemsInsertedOrRemoved() {

if (hasFixedSize) layoutChildren();

else requestLayout();

}

requestLayout()是很昂貴的,因為他會要求重新布局,重新繪制(詳細請看Android優(yōu)化)锌畸,所以如當(dāng)不是瀑布流時勇劣,設(shè)置這個可以避免重復(fù)的增刪造成而外的浪費資源

RecyclerView size changes every time you add something no matter what. What setHasFixedSize does is that it makes sure (by user input) that this change of size of RecyclerView is constant. The height (or width) of the item won't change. Every item added or removed will be the same. If you dont set this it will check if the size of the item has changed and thats expensive. Just clarifying because this answer is confusing.–ArnoldBMay 25 at 18:42

RecyclerView size changes every time you add something no matter what. What setHasFixedSize does is that it makes sure (by user input) that this change of size of RecyclerView is constant. The height (or width) of the item won't change. Every item added or removed will be the same. If you dont set this it will check if the size of the item has changed and thats expensive. Just clarifying because this answer is confusing.–ArnoldBMay 25 at 18:42

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子比默,更是在濱河造成了極大的恐慌幻捏,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,919評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件命咐,死亡現(xiàn)場離奇詭異篡九,居然都是意外死亡,警方通過查閱死者的電腦和手機醋奠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評論 3 392
  • 文/潘曉璐 我一進店門榛臼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人窜司,你說我怎么就攤上這事沛善。” “怎么了塞祈?”我有些...
    開封第一講書人閱讀 163,316評論 0 353
  • 文/不壞的土叔 我叫張陵金刁,是天一觀的道長。 經(jīng)常有香客問我议薪,道長尤蛮,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,294評論 1 292
  • 正文 為了忘掉前任笙蒙,我火速辦了婚禮抵屿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘捅位。我一直安慰自己,他們只是感情好搂抒,可當(dāng)我...
    茶點故事閱讀 67,318評論 6 390
  • 文/花漫 我一把揭開白布艇搀。 她就那樣靜靜地躺著,像睡著了一般求晶。 火紅的嫁衣襯著肌膚如雪焰雕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,245評論 1 299
  • 那天芳杏,我揣著相機與錄音矩屁,去河邊找鬼。 笑死爵赵,一個胖子當(dāng)著我的面吹牛吝秕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播空幻,決...
    沈念sama閱讀 40,120評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼烁峭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起约郁,我...
    開封第一講書人閱讀 38,964評論 0 275
  • 序言:老撾萬榮一對情侶失蹤缩挑,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后鬓梅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體供置,經(jīng)...
    沈念sama閱讀 45,376評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,592評論 2 333
  • 正文 我和宋清朗相戀三年绽快,在試婚紗的時候發(fā)現(xiàn)自己被綠了士袄。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,764評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡谎僻,死狀恐怖娄柳,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情艘绍,我是刑警寧澤赤拒,帶...
    沈念sama閱讀 35,460評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站诱鞠,受9級特大地震影響挎挖,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜航夺,卻給世界環(huán)境...
    茶點故事閱讀 41,070評論 3 327
  • 文/蒙蒙 一蕉朵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧阳掐,春花似錦始衅、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,697評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至艺骂,卻和暖如春诸老,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背钳恕。 一陣腳步聲響...
    開封第一講書人閱讀 32,846評論 1 269
  • 我被黑心中介騙來泰國打工别伏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人忧额。 一個月前我還...
    沈念sama閱讀 47,819評論 2 370
  • 正文 我出身青樓厘肮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親宙址。 傳聞我的和親對象是個殘疾皇子轴脐,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,665評論 2 354

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