我面临片段加载问题。
步骤:我从Activity调用一个片段,在片段中我启动loadAsyncTask();从服务器获取数据。加载数据需要时间。我认为片段加载时速度很慢。 1。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.list_fragment,
container, false);
init();
setHasOptionsMenu(true);
loadAsyncTask();
return rootView;
}
在谷歌搜索,我找到解决方案。我在片段的onActivityCreated()中使用loadAsyncTask()方法,而不是在onCreateView()中使用
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
loadAsyncTask();
}
这是对的吗?因为我的ui组件在onCreateView()的init()方法中初始化。
答案 0 :(得分:0)
如果您的片段不依赖于从Internet获取的数据,则AsyncTask不会影响片段创建的速度。 AsyncTask在一个单独的线程中运行,因此它不会阻止执行onCreateView()的主线程。但是onCreateView()方法应该只负责创建和返回与片段关联的视图层次结构。