Android ListView與getView調(diào)用卡頓問題解決辦法
Android ListView與getView調(diào)用卡頓問題解決辦法
解決辦法1,設(shè)置ListView高度為固定值或者match_parent/ifll_parent
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { Log.d("onMeasure", "onMeasure"); isOnMeasure = true; super.onMeasure(widthMeasureSpec, heightMeasureSpec); } @Override protected void onLayout(boolean changed, int l, int t, int r, int b) { Log.d("onLayout", "onLayout"); isOnMeasure = false; super.onLayout(changed, l, t, r, b); }
究其原因,無非是listview要動態(tài)計算有多少個view顯示在里面,所以需要多次onMeasure,最后才onLayout,而onMeasure可能需要執(zhí)行多次
這不就行了,我們在adapt里面的getview中,判斷是否在onmeasure里,如果在,那么僅僅mInflater.inflate(R.layout.XXX),然后立刻返回這個convertView
如果不在onmeasure里,那么再去真正的onlayout
結(jié)合這種方法,成功解決了卡頓問題..
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
如何利用adb卸載手機預(yù)裝軟件(系統(tǒng)軟件)
對于Android手機通常有很多不必要的預(yù)置軟件,但是又無法卸載,占用桌面有很難受,所以本次使用adb工具來實現(xiàn)從電腦命令來卸載或停用軟件,下面這篇文章主要給大家介紹了關(guān)于如何利用adb卸載手機預(yù)裝軟件(系統(tǒng)軟件)的相關(guān)資料,需要的朋友可以參考下2022-09-09Android對EditTex的圖片實現(xiàn)監(jiān)聽
這篇文章主要為大家詳細(xì)介紹了Android如何對EditTex的圖片實現(xiàn)監(jiān)聽,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-10-10Android數(shù)據(jù)轉(zhuǎn)移之Launcher導(dǎo)出數(shù)據(jù)庫給另一臺機器加載
這篇文章主要介紹了Android系統(tǒng)中Launcher導(dǎo)出數(shù)據(jù)庫給另一臺機器加載的詳細(xì)流程,數(shù)據(jù)轉(zhuǎn)移是少見但早晚要用到的功能,感興趣的朋友快來提前掌握吧2021-11-11Flutter最小刷新范圍探索ValueListenableBuilder使用詳解
這篇文章主要為大家介紹了Flutter最小刷新范圍探索ValueListenableBuilder使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12