Android 用于测试的应用程序的强制销毁

Android 用于测试的应用程序的强制销毁,android,eclipse,sharedpreferences,bundle,ondestroy,Android,Eclipse,Sharedpreferences,Bundle,Ondestroy,我想我需要一些帮助来理解如何在Destroy上处理bundle。我的应用程序有一个问题,捆绑包在夜间关闭或超过几个小时后变为空。但我无法出于调试目的复制此问题。无论我做什么,包裹在被强迫破坏后仍然完好无损 为了复制这个问题,我尝试了两种不同的方法: 使用开发者选项IIRC下的选项-设置>开发者选项>不保留活动 使用eclipse DDMS下的“停止”按钮 这两个选项似乎都没有删除捆绑包。我是否遗漏了什么,在假定的完全销毁后,如何保留捆绑包 我使用的是Nexus5,android 4.4.2 我在

我想我需要一些帮助来理解如何在
Destroy
上处理
bundle
。我的应用程序有一个问题,
捆绑包
在夜间关闭或超过几个小时后变为
。但我无法出于调试目的复制此问题。无论我做什么,包裹在被强迫破坏后仍然完好无损

为了复制这个问题,我尝试了两种不同的方法:

  • 使用开发者选项IIRC下的选项-
    设置>开发者选项>不保留活动

  • 使用eclipse DDMS下的“停止”按钮

  • 这两个选项似乎都没有删除
    捆绑包
    。我是否遗漏了什么,在假定的完全销毁后,如何保留捆绑包

    我使用的是Nexus5,android 4.4.2

    我在我的“首选项”
    中有一个检查,它首先检查
    Bundle
    变量是否可以从逻辑上的上一个/parent
    活动
    中获得,如果不能,它将从Android
    SharedReferences
    读取。问题是,当我检查bundle不是
    null
    时,我必须有一个问题。所以我需要调试它,因为它允许将null值从bundle设置到我的“session”ID

    我错过什么了吗?当然,捆绑包应该与我的应用程序一起销毁,但是当使用上面的选项1)时,捆绑包仍然存在,因此我无法调试IF语句。选项2)没有用处,因为停止按钮似乎只是关闭活动-当我单击停止时,我的应用程序在屏幕层次结构中后退。同样,不要从内存中破坏整个应用程序。我一定错过了一些基本的东西

    为任何帮助干杯

    顺便说一句,我已经在上面搜索了所有的解决方案,所以我可以,所有的东西似乎都在使用上面的optoins,没有任何问题,我的Android操作系统/手机可能有什么不同吗


    编辑:谷歌的这篇文章展示了我需要的功能,但我认为这是一篇过时的文章,它指的是我在选项1中尝试的内容 请参阅“立即销毁活动”-developer.android.com/tools/debug/debug-devtools.html

    Edit2:看到下面的评论,我误以为上面的Google文档指的是从内存中删除整个应用程序,而不仅仅是一个活动。不管怎样,现在我将尝试这样的方法来检查bundle值

    Long val = bundle.getLong(Navigator.INTENT_KEY_CHANNEL_ID, 0);
    if (val != 0 && val != null) {
    }
    

    1-启动您的应用程序

    2-按下主页按钮

    3-在Android Studio或Eclipse中启动DDMS

    4-选择你的应用程序并单击停止

    5-选择你的应用程序已启动的应用程序历史记录


    谢谢,

    我试着理解你的问题,但失败了。它有不准确和不正确的术语。我假设所讨论的
    是框架传递给
    活动
    构造函数的包。为什么不在错误方法出现之前在代码中将其设置为null?我不明白你说的破坏是什么意思。你是说应用程序进程被终止了吗?在任何情况下,我看不出有任何理由删除
    捆绑包
    ,在您提供的有限上下文中,我得出结论,问题完全在于您的代码中,而您没有显示,因此问题无法回答。我编辑了我的帖子,以便更清楚地说明问题,我认为我已经清楚了销毁。我的意思是我需要一种方法来测试我的应用程序是否完全从内存中删除。我测试的任何东西似乎都无法提供此功能。谷歌的这篇文章展示了我需要的功能,但我认为这是一篇过时的文章,它指的是我在选项1中尝试的功能请参阅“立即销毁活动”-developer.android.com/tools/debuging/debugging devtools.html“为了更清晰,我编辑了我的帖子”-Simon阅读了您修改后的问题,您可以从他评论上的时间戳看出这一点。“我还以为我对毁灭很清楚呢”——你对“毁灭”和“捆绑”都不清楚。您指的是什么
    Bundle
    ?传递给
    onCreate()
    的那个?从DDMS停止进程后,您如何启动应用程序?我仍然不明白。您是否混淆了销毁活动和您的申请流程。该链接没有提及内存使用或应用程序进程。如果你指的是应用程序进程,那么它关联的虚拟机也会被破坏,内存中什么都没有,或者说,内存完全被释放出来供再次使用。“谷歌的这篇文章展示了我需要的功能”——我不明白怎么做。活动不是应用程序或流程。