我有一个需要加载7个加载器的片段
onActivityCreate()中的;
我为所有人调用了initLoader。
public void onActivityCreate(Bundle saveInstanceState){
LoaderManager mgr = getLoaderManager();
mgr.initLoader(0,null,mLoaderCallback0);
mgr.initLoader(1,null,mLoaderCallback1);
mgr.initLoader(2,null,mLoaderCallback2);
mgr.initLoader(3,null,mLoaderCallback3);
mgr.initLoader(4,null,mLoaderCallback4);
mgr.initLoader(5,null,mLoaderCallback5);
mgr.initLoader(6,null,mLoaderCallback6);
}
如何针对内存问题逐一有效地加载它们,
我在想什么
是在onActivityCreated
方法中加载第一个加载器
在它的onLoadFinished
回调中,我加载第二个加载器,在第二个onLoadFinished
i initLoader
中加载第三个加载器,依此类推。
好吗 ?或者我想念片段生命周期。
private LoaderCallbacks<UserFriendResponse> mFirstCallbacks = new LoaderCallbacks<UserFriendResponse>() {
@Override
public void onLoaderReset(Loader<UserFriendResponse> arg0) {
// TODO Auto-generated method stub
}
@Override
public void onLoadFinished(Loader<Type1> arg0,
Type1 arg1) {
....
...
..
if(isAdded()){
getLoaderManager().initLoader(1,null,mLoaderCallback1);
}
}
@Override
public Loader<Type1> onCreateLoader(int arg0, Bundle arg1) {
return new CustomLoader(getActivity(), false, true, false, "1",
1, username);
}
};
注意:我无法进行一次回调,因为每个加载器都会返回不同的数据类型。