片段在活动结束时不会被破坏

时间:2015-11-25 13:59:52

标签: android android-fragments

我注意到这个奇怪的事情。我有一系列由Activity托管的片段。当通过按下并再次打开来杀死活动时,所有碎片都会保留其数据和变量。我已经阅读了关于android开发人员的文章,其中写道,片段附加到托管活动,并在活动结束时被销毁。

我该如何处理?

2 个答案:

答案 0 :(得分:0)

按下“返回按钮”时,Activity不会消失。所以片段也不会死。将调用Activity中的onStop()。如果系统缺乏资源,则可以随时销毁活动。详细了解activity lifecycle in Android 如果要杀死活动,请覆盖onBackPressed(),如此

@Override
    public void onBackPressed(){
        finish();
    }

这会杀死当前活动及其附加的所有碎片。

答案 1 :(得分:0)

您还可以通过覆盖Fragment的onStart()onStop()方法来解决此问题。当片段所属的活动变得完全不可见时,onStop()被调用,例如当进入后栈时。当片段所属的活动再次变得可见时,会调用onStart()

您可以在Fragment的onStart()方法中重置Fragment的UI。