加载片段的最佳方法是什么?

时间:2016-06-07 12:54:58

标签: android android-fragments

我有三个片段,我正在展示webview,所以保持简单,加载片段的最佳方法是什么?我希望以加载时不占用大量资源的方式加载碎片,并在ram中保持较低的占用空间。

我正在使用这两种技术。请指导哪一个更有效率?如果你有更好的选择,请我知道。

片段A:

public class example
        extends Fragment {
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment, container, false);
        return rootView;
    }

    View myUIUpdate2(View view) {
        // some stuff
    }

    @Override
    public void setUserVisibleHint(boolean isFragmentVisible_) {
        super.setUserVisibleHint(true);

        if(this.isVisible()) {
            // we check that the fragment is becoming visible
            if(isFragmentVisible_ && !_hasLoadedOnce) {
                myUIUpdate2(getView());
                _hasLoadedOnce = true;
            }
        }
    }

片段B:

public class example
        extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment, null);
        return rootView;
    }

    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        myUIUpdate(view);
    }

    void myUIUpdate(View view) {
        //some stuff
    }

    @Override
    public void setUserVisibleHint(boolean isFragmentVisible_) {
        super.setUserVisibleHint(true);
        if(this.isVisible()) {
            // we check that the fragment is becoming visible
            if(isFragmentVisible_ && !_hasLoadedOnce) {
                myUIUpdate2(getView());
                _hasLoadedOnce = true;
            }
        }
    }

哪种方式片段效率会更高?

1 个答案:

答案 0 :(得分:0)

在效率方面使用onCreateView或onViewCreated之间几乎没有什么区别,因为它们都是由Fragment生命周期调用的,无论你是否覆盖它们。

因此,在更大的方案中,你过度思考优化