簡體   English   中英

當Activity在后台被破壞時,如何刪除碎片

[英]When Activity is destroyed on background,how to remove fragment

當我的應用程序切換到后台時,系統內存不足,則android會破壞我的活動。當時,我想刪除附加到活動的片段,以便當活動切換到前台時,我可以避免該活動的任何異常行為活動。我這樣做是這樣的:

@Override
    public void onSaveInstanceState(Bundle outState) {
        FragmentManager fm = getSupportFragmentManager();
        AbstractBaseViewFragment previous = (AbstractBaseViewFragment) fm.findFragmentByTag(FRAGMENT_TAG);
        if (previous != null) {
            fm.beginTransaction().remove(previous).commitAllowingStateLoss();
            fm.executePendingTransactions();
        }
        super.onSaveInstanceState(outState);
    }

所以我想問:是否還有其他好主意可以完成此目標?我的方法會導致崩潰嗎?

您可以嘗試以下操作: ft.detach(previous);

if (previous != null) {
                FragmentTransaction ft = fm.beginTransaction();
                ft.detach(previous);
                ft.remove(previous);
                ft.commitAllowingStateLoss();
... // the rest of your code
            }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM