应用程序未使用几个小时后碎片消失

syn*_*gma 5 android state android-fragments

SlidingMenu用来打开左右菜单.这一切都很好,除了我没有找到一种方法来保持片段的状态后应用程序至少几个小时(~6)小时没有被使用.

这是我在我的一个菜单中设置片段的方式:

if (savedInstanceState != null)
    mContent = getSupportFragmentManager().getFragment(
        savedInstanceState, "mContent");
if (mContent == null)
    mContent = new SomeFragment();

setContentView(R.layout.content_frame);
getSupportFragmentManager().beginTransaction()
    .replace(R.id.content_frame, mContent).commit();
Run Code Online (Sandbox Code Playgroud)

当用户在较长一段时间后回到应用程序时,一些片段(左侧片段或右侧菜单片段)变为灰色,即使我知道它并尝试以下解决方案(例如左侧菜单):

    mLeftMenuFragment = new LeftMenuFragment();
    getSupportFragmentManager()
        .beginTransaction()
        .replace(R.id.sliding_menu_left_content_frame,
            mLeftMenuFragment).commit();
Run Code Online (Sandbox Code Playgroud)

它没有帮助.

请注意,我也尝试过该commitAllowingStateLoss()方法(而不是commit()),但它也没有帮助.

the*_*ndr 1

我不确定,但我认为最好将状态数据保存在 SharredPreferences 或其他地方,然后手动重新创建。我认为保存实例状态更好地用于快速后退或旋转或旋转等。谁知道 6 小时后会发生什么。Android 可以清理内存或其他东西。你无法控制它。这是我的意见。