碎片初始化时需要加载时间

时间:2014-10-16 16:37:54

标签: android

我面临片段加载问题。

步骤:我从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()方法中初始化。

1 个答案:

答案 0 :(得分:0)

如果您的片段不依赖于从Internet获取的数据,则AsyncTask不会影响片段创建的速度。 AsyncTask在一个单独的线程中运行,因此它不会阻止执行onCreateView()的主线程。但是onCreateView()方法应该只负责创建和返回与片段关联的视图层次结构。