精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何正確使用RecyclerView的setHasFixedSize方法提高布局計算性能

移動開發(fā) Android
在確定 RecyclerView? 的大小在整個生命周期中都不會改變時,才將 hasFixedSize()? 設(shè)置為 true。如果不確定,或者 RecyclerView? 的大小可能會改變,應(yīng)該將其設(shè)置為 false,確保 RecyclerView 能夠正確地重新計算其布局。

setHasFixedSize

setHasFixedSize(boolean hasFixedSize) 是 Android 中 RecyclerView 類的一個方法,用于設(shè)置 RecyclerView 是否具有固定大小。

RecyclerView源碼中setHasFixedSize方法的解釋:

/**
  * RecyclerView can perform several optimizations if it can know in advance that RecyclerView's
  * size is not affected by the adapter contents. RecyclerView can still change its size based
  * on other factors (e.g. its parent's size) but this size calculation cannot depend on the
  * size of its children or contents of its adapter (except the number of items in the adapter).
  * <p>
  * If your use of RecyclerView falls into this category, set this to {@code true}. It will allow
  * RecyclerView to avoid invalidating the whole layout when its adapter contents change.
  *
  * @param hasFixedSize true if adapter changes cannot affect the size of the RecyclerView.
*/
public void setHasFixedSize(boolean hasFixedSize) {
    mHasFixedSize = hasFixedSize;
}

翻譯一下注釋如下:

如果RecyclerView能夠提前知道RecyclerView的大小不受適配器內(nèi)容的影響,可以執(zhí)行幾個優(yōu)化。RecyclerView仍然可以根據(jù)其他因素(例如其父項的大小)更改其大小,但此大小計算不能取決于其子項的大小或適配器的內(nèi)容(適配器中的項目數(shù)除外) 如果您對RecyclerView的使用屬于此類別,請將其設(shè)置為{@code true}。它將允許RecyclerView避免在適配器內(nèi)容更改時使整個布局無效。

@Override
protected void onMeasure(int widthSpec, int heightSpec) {
    if (mLayout == null) {
        defaultOnMeasure(widthSpec, heightSpec);
        return;
    }
    if (mLayout.isAutoMeasureEnabled()) {
        //....... 省略部分代碼
    } else {
        if (mHasFixedSize) {
            mLayout.onMeasure(mRecycler, mState, widthSpec, heightSpec);
            return;
        }
        // custom onMeasure
        //......  省略部分代碼
        if (mAdapter != null) {
            mState.mItemCount = mAdapter.getItemCount();
        } else {
            mState.mItemCount = 0;
        }
        startInterceptRequestLayout();
        mLayout.onMeasure(mRecycler, mState, widthSpec, heightSpec);
        stopInterceptRequestLayout(false);
        mState.mInPreLayout = false; // clear
    }
}

由上面內(nèi)容可知:調(diào)用 setHasFixedSize(true) 時,RecyclerView 的子項(items)的大小不會改變,即使添加或移除了 RecyclerView 中的項,RecyclerView 也不會重新測量和布局它的所有子項。好處是可以提高性能(測量和布局是一個相對耗時的操作)。

重要的是要確保RecyclerView 實際上具有固定大小。如果 RecyclerView 的子項大小可能會改變(例如,由于文本長度的變化或圖像加載),應(yīng)該調(diào)用 setHasFixedSize(false)。當(dāng)子項大小改變時,RecyclerView 會重新測量和布局它們確保能正確顯示。

如果你設(shè)置 hasFixedSize(true),但在運行時 RecyclerView 的大小實際上發(fā)生了變化(例如,因為其內(nèi)容或布局參數(shù)的變化),那么 RecyclerView 的布局可能不會正確地更新,可能會導(dǎo)致顯示問題。

總結(jié)

在確定 RecyclerView 的大小在整個生命周期中都不會改變時,才將 hasFixedSize() 設(shè)置為 true。如果不確定,或者 RecyclerView 的大小可能會改變,應(yīng)該將其設(shè)置為 false,確保 RecyclerView 能夠正確地重新計算其布局。

  1. 使用固定的寬度/高度(可以用setHasFixedSize(true)):
<androidx.recyclerview.widget.RecyclerView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:overScrollMode="never"
    app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
    app:spanCount="2" />
  1. 不使用固定的寬度/高度:應(yīng)該使用setHasFixedSize(false),因為寬度或高度可以改變RecyclerView的大小。
<androidx.recyclerview.widget.RecyclerView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:overScrollMode="never"
    app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
    app:spanCount="2" />

即使將 hasFixedSize() 設(shè)置為 true,RecyclerView 仍然會監(jiān)聽滾動事件,滾動性能不會受到影響,主要影響的是布局計算的性能。

責(zé)任編輯:武曉燕 來源: 沐雨花飛蝶
相關(guān)推薦

2016-09-22 09:24:33

AndroidViewStub

2013-01-08 16:05:23

Android開發(fā)布局ViewStub

2011-05-24 15:15:12

mysql性能

2017-07-10 13:09:45

前端Flexbox

2019-03-05 10:20:49

WebWebpack分離數(shù)據(jù)

2009-12-31 15:21:48

Silverlight

2011-04-27 16:38:31

投影機(jī)

2011-04-11 14:56:09

Oracle性能

2021-07-14 14:06:06

CSS前端瀏覽器

2010-01-05 18:49:57

.NET Framew

2009-08-06 11:12:17

提高GDI編程性能

2009-11-02 14:08:05

2021-11-05 11:03:33

云計算開發(fā)技術(shù)

2015-10-10 11:00:05

RubyRails性能

2015-03-18 09:59:14

CSSCSS提高渲染性

2015-10-14 17:27:18

性能

2015-11-16 10:21:28

Java中鎖性能

2010-07-29 10:19:18

提高DB2 IMPOR

2023-08-18 14:10:00

CDN數(shù)據(jù)中心

2019-05-22 14:55:57

云計算企業(yè)微服務(wù)
點贊
收藏

51CTO技術(shù)棧公眾號

日韩网红少妇无码视频香港| 免费在线a视频| 97精品人妻一区二区三区在线| 99久久婷婷| 欧美一区二区三区在线电影 | 热久久精品免费视频| 97电影在线观看| 成人精品国产福利| 青草青草久热精品视频在线网站 | 一级做a爱片久久| 欧美18视频| 朝桐光av在线一区二区三区| 免费视频一区| 大胆人体色综合| 草草地址线路①屁屁影院成人| 欧美视频免费看| 一区二区免费在线| 亚洲精品国产精品国自产观看| 高h放荡受浪受bl| 日本午夜一本久久久综合| 欧美国产日韩中文字幕在线| 黄色国产在线播放| 欧美国产极品| 日韩欧美的一区二区| 粉嫩虎白女毛片人体| 岛国片av在线| 亚洲乱码国产乱码精品精可以看| 欧美激情一区二区三区在线视频 | 波波电影院一区二区三区| 国产欧美日韩亚洲精品| 四虎成人永久免费视频| 亚洲私拍自拍| 欧美成人网在线| 秋霞网一区二区三区| 性欧美lx╳lx╳| 精品国产乱子伦一区| 亚洲高清视频免费| 先锋影音网一区二区| 色天天综合久久久久综合片| r级无码视频在线观看| 免费超碰在线| 国产精品天天摸av网| 免费看成人av| 人人九九精品| 久久伊99综合婷婷久久伊| 国产精品二区二区三区| 99re只有精品| 国内成人精品2018免费看| 国产精品女主播| 嫩草影院一区二区三区| 天使萌一区二区三区免费观看| 88国产精品欧美一区二区三区| 国产一级免费av| 欧美国内亚洲| 色综合久综合久久综合久鬼88 | 欧美色图在线视频| 国产夫妻自拍一区| 51精品视频| 亚洲不卡av一区二区三区| 日本人体一区二区| 17videosex性欧美| 精品福利视频导航| 日本精品免费在线观看| 中文字幕影音在线| 色哟哟一区二区| 在线观看av网页| 日韩欧美激情| 日韩一区二区三区视频在线观看| 日韩av影视大全| 伊人久久大香线蕉av超碰| 日韩免费看网站| 漂亮人妻被黑人久久精品| 极品一区美女高清| 国产亚洲a∨片在线观看| 国产熟妇久久777777| 日韩综合网站| 欧美韩日一区二区| 久久免费激情视频| 欧美一级播放| 国产在线精品一区免费香蕉 | 中文字幕免费高| 成人福利片网站| 午夜精品福利久久久| 免费毛片小视频| 91综合国产| 欧美一区二区三区的| 国产xxxx视频| 欧美日韩国产免费观看视频| 久久久999精品视频| 91精品国产高潮对白| 久久久久99| 国产主播欧美精品| 手机av免费在线观看| 久久精品这里都是精品| 精品少妇人妻av一区二区| 91桃色在线观看| 欧美性大战xxxxx久久久| www.色.com| 综合色就爱涩涩涩综合婷婷| 久久精品欧美视频| 国产精品99精品无码视| 美女黄网久久| 99re视频| 中文日本在线观看| 天天综合色天天| 国产成人美女视频| 亚洲理论电影| 欧美成人久久久| 日本久久综合网| 国产·精品毛片| 亚洲自拍三区| 亚洲欧洲自拍| 日韩一区二区三区高清免费看看| 瑟瑟视频在线观看| 今天的高清视频免费播放成人| 国产精品美女免费视频| 天天干天天干天天干| 国产精品成人在线观看| 日本中文字幕片| 成人激情自拍| 久久这里有精品视频| 免费在线观看av的网站| 99久久综合精品| 黄色一级片国产| 国产精品久一| 视频在线观看一区二区| 精品久久久久久久久久久久久久久久久久 | 国产欧美日产一区| 狠狠97人人婷婷五月| 精品一区二区三区在线观看视频| 亚洲天堂网在线观看| 日韩欧美一区二区一幕| 国产高清在线观看免费不卡| 自拍视频一区二区三区| 农村妇女一区二区| 一区二区三区视频免费| 亚洲永久精品一区| 久久婷婷一区二区三区| 国产精品无码一区二区在线| 国产精品久久久久久久久久白浆| 欧美激情精品久久久久久变态| 国产农村老头老太视频| 自拍偷拍国产亚洲| 毛片毛片毛片毛| 99久久精品国产亚洲精品| 国产精品一香蕉国产线看观看| 久久精品a一级国产免视看成人 | 香蕉一区二区| 欧美性资源免费| 青青青草网站免费视频在线观看| 精品久久久中文| 精品无码在线视频| 亚洲欧美卡通另类91av| 欧美精品一区二区三区久久| 亚洲成人短视频| 国产亚洲精品激情久久| 无码久久精品国产亚洲av影片| 久久精品亚洲精品国产欧美| 日韩视频免费在线播放| 国产午夜一区| 国产精品爽爽爽爽爽爽在线观看| 91av资源在线| 91精品一区二区三区久久久久久| 欧美大片xxxx| 高清成人免费视频| 日本欧美黄色片| 亚洲三级网址| 国产精品一区二区三区毛片淫片| 黄色网址视频在线观看| 日韩一区二区三区观看| 国产乡下妇女做爰视频| 久久这里都是精品| www.com操| 自拍欧美日韩| 精品国产乱码久久久久久郑州公司| 国产夫妻在线| 永久免费看mv网站入口亚洲| 97国产成人无码精品久久久| 亚洲国产精品久久人人爱| 五月婷婷综合在线观看| 秋霞成人午夜伦在线观看| 91精品国产吴梦梦| 日韩超碰人人爽人人做人人添| 国产精品福利在线| 中文字幕在线观看播放| 日韩电影免费观看中文字幕| 中文字幕在线播出| 亚洲一区二区高清| 非洲一级黄色片| 成人一区二区三区视频| 日本精品久久久久中文字幕| 亚洲深深色噜噜狠狠爱网站| 久久天堂国产精品| 亚洲最大的免费视频网站| 国内精品久久久久久久| 91在线视频| 亚洲大胆人体在线| 91福利在线观看视频| 午夜欧美2019年伦理| 欧美xxxx精品| 91网站视频在线观看| 99精品视频国产| 久久成人国产| 人人妻人人澡人人爽欧美一区| 亚洲伊人春色| 官网99热精品| 日韩黄色碟片| 国产成+人+综合+亚洲欧洲| 羞羞污视频在线观看| 永久免费毛片在线播放不卡| 日本精品久久久久| 6080国产精品一区二区| 久久久精品视频网站| 亚洲主播在线播放| 国产精品夜夜夜爽阿娇| 国产色91在线| 亚洲色图14p| 成人丝袜18视频在线观看| 中文字幕第88页| 久久久久一区| 青青草成人免费在线视频| 一区二区不卡| 在线成人av电影| 欧美色图在线播放| 欧美不卡福利| 牛牛影视久久网| 国产成人看片| 天堂av一区| 91天堂在线观看| 日本免费一区二区三区等视频| 日韩美女激情视频| 欧美三级网站| 亚洲2020天天堂在线观看| 亚洲区欧洲区| 久久久国产影院| 蜜桃视频在线观看免费视频网站www| 亚洲人永久免费| 瑟瑟在线观看| 国产视频精品一区二区三区| 天堂在线中文| 亚洲精品久久久久中文字幕欢迎你 | 日本黄色片免费观看| 中文字幕一区二区三区av| 免费在线观看a视频| 国产欧美日韩在线观看| 亚洲成人黄色av| 2欧美一区二区三区在线观看视频| 国产原创剧情av| 91污片在线观看| 成人精品999| 日本一区二区免费在线观看视频| 手机看片福利视频| 欧美国产视频在线| 日韩av毛片在线观看| 国产精品成人一区二区艾草 | www在线免费观看视频| 久久亚洲私人国产精品va| 超碰超碰在线| 欧美高清激情视频| 91老司机福利在线| 18一19gay欧美视频网站| 欧美日韩国产v| 国产精品久久久久久久久久| 91成人在线| 成人免费黄色网| 亚洲午夜免费| 狠狠色综合一区二区| 九一亚洲精品| 亚洲一区二区自拍偷拍| 欧美在线1区| 男女啪啪免费视频网站| 久久久久久自在自线| 色多多视频在线播放| 激情图区综合网| 久久性爱视频网站| 国产亚洲精品7777| www色aa色aawww| 五月天视频一区| 免费黄色一级大片| 99pao成人国产永久免费视频| 亚洲午夜精品网| 香蕉视频999| 国产成人亚洲综合a∨猫咪| 精品影片一区二区入口| 国产日韩欧美视频在线观看| 午夜精品一区二区三区免费视频| 国产原创视频在线| 日韩成人综合网| 热99精品只有里视频精品| 成人一级视频| av一区和二区| 国产一区2区| 日韩欧美视频免费在线观看| 香蕉久久国产| 欧美高清精品一区二区| 久久午夜免费电影| 三级全黄做爰视频| 色综合久久天天综合网| 国产人妖一区二区| 亚洲视频日韩精品| 女囚岛在线观看| 国产精品自产拍高潮在线观看| 国产劲爆久久| 一道精品一区二区三区| 免费欧美在线| 日本wwwwwww| 国产精品天美传媒沈樵| 国产成人在线观看网站| 欧美日韩美女一区二区| 日韩在线一区二区三区四区| 久久精品国产久精国产思思| 亚洲永久av| www.一区二区三区| 欧美大人香蕉在线| 精品99在线视频| 粉嫩蜜臀av国产精品网站| 1024手机在线观看你懂的| 欧美午夜片欧美片在线观看| www.色亚洲| 久久精品99久久久香蕉| 最新欧美电影| 久久久久久久久久久久久久一区| 欧美激情一级片一区二区| 99sesese| 中文字幕国产一区| 毛片基地在线观看| 亚洲第一偷拍网| 日韩av官网| 91成人理论电影| 99久久夜色精品国产亚洲1000部| 毛片av免费在线观看| 99re热这里只有精品视频| 久久久久久激情| 欧美一级黄色片| 里番在线观看网站| 国产日韩欧美视频| 成人aaaa| 五月婷婷狠狠操| 国产欧美日韩在线| 午夜久久久久久久久久影院| 亚洲欧美成人在线| 深夜在线视频| 久久精品中文字幕一区二区三区| 亚洲日本黄色| 亚洲天堂2024| 欧美日韩亚洲视频一区| 亚洲av片在线观看| 91精品国产91| 国产成人1区| 天天天干夜夜夜操| 亚洲国产精品ⅴa在线观看| 瑟瑟视频在线免费观看| 中文字幕亚洲国产| 日韩成人精品一区二区三区| 一区在线电影| 国产福利一区在线观看| 欧美成人精品欧美一级| 精品奇米国产一区二区三区| 国产精品186在线观看在线播放| 国产福利久久精品| 99精品免费视频| 一级黄色片大全| 欧美日韩视频在线第一区| 男人天堂久久久| 99久久免费国| 亚洲美女色禁图| 欧美老女人性生活视频| 欧美精品v国产精品v日韩精品| 成人av黄色| 国产一区再线| 免费在线观看精品| 久久久精品视频免费观看| 亚洲第一精品久久忘忧草社区| 一二三四视频在线中文| 日韩少妇中文字幕| 国产一区二区精品久久91| 国产性70yerg老太| 亚洲网站在线看| av在线播放一区二区| 日韩伦理在线免费观看| 国产午夜精品久久久久久免费视| 一级片免费网站| 高清欧美性猛交xxxx| 国产一区二区三区电影在线观看| 浓精h攵女乱爱av| 亚洲激情一二三区| 香蕉视频网站在线| 国产日韩精品在线| 在线免费高清一区二区三区| 中文字幕 自拍| 欧美一级高清片| 欧美成人ⅴideosxxxxx| 国产精品99久久久久久大便| 波波电影院一区二区三区| 亚洲图片在线播放| 91高清视频在线免费观看| 97精品一区| 一本色道久久综合亚洲精品图片 | 最近中文字幕av| 欧美激情一二区|