這裏主要講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;
}
}
希望對大家有幫助