android – 停止片段恢复后重新创建?

前端之家收集整理的这篇文章主要介绍了android – 停止片段恢复后重新创建?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用几个片段来动态添加到活动中.一切顺利,当我按下按钮时,碎片进入后台.当我恢复它,它出现.但是,每次在Resume上,它都是重新创建片段并调用onCreateView.我知道这是片段生命周期的正常行为.

这是我的onCreateView:

@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {
    View rootView = inflater.inflate(
            R.layout.competitive_programming_exercise,container,false);
    return rootView;
}

我想阻止这些碎片重新创建.我尝试用onSavedInstanstate,但没有任何工作.我该怎么做呢?

解决方法

不幸的是,您无法阻止该片段被重新创建.您可以做的最好的事情是在事务恢复之后,但在显示之前删除它.

如果您知道您将立即删除该片段,您可以通过简化诸如onCreateView()之类的方法来返回虚拟视图,而不是再次充满整个视图层次结构,从而降低恢复片段的性能.

不幸的是,棘手的部分是找到提交此交易的最佳位置.根据this article,没有多少安全的地方.也许你可以尝试FragmentActivity.onResumeFragments()或Fragment.onResume().

猜你在找的Android相关文章