fragment的卡頓和刷新問題,懶加載

這裏主要講fragment懶加載和fragment顯現時刷新

    這種如果fragment比較多或頁面耗時,如果不使用懶加載滑動切換界面會出現卡頓現象,這樣fragment會先顯示出空頁面,側滑不會卡,然後再慢慢加載出頁面內容。這樣需要再頁面顯現出來後做加載內容調接口的操作,再fragment顯現回調的方法有兩種情況

1.viewpager+fragment

2.show,hide fragment

第一種:

回調的是

setUserVisibleHint(boolean isVisibleToUser)

第二種:

回調的是

onHiddenChanged(boolean hidden)

這裏要分別做一下區分,還有一個問題是setUserVisibleHint回調方法再fragment創建時頁面還沒有加載出來也會回調,所以需要判斷fragment是否已經創建完成,還有就是懶加載做一次的操作。當然也會遇到fragment點擊顯現就想要刷新數據的操作。

onActivityCreated中加
activityIsCreated = true;
if (theFragmentIsVisible && !theDelayLoad) {
    theDelayLoad = true;
    delayLoad();
}
@Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if (isVisibleToUser) {
            theFragmentIsVisible = true;
           if (activityIsCreated && !theDelayLoad) {
            theDelayLoad = true;
            delayLoad();//懶加載
           }else if(activityIsCreated){
            onVisibleRefresh();//可見刷新
        } else {
            theFragmentIsVisible = false;
           
        }
    }

希望對大家有幫助

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章