我正在尝试测试我的应用程序如何处理被Android ActivityManager破坏(并随后由Alarm事件重新启动)的情况。
换句话说,我想强制执行以下消息:

I/ActivityManager(  333): No longer want com.myname.myapp (pid 4444): hidden #22

是否有办法可靠地将ActivityManager诱导为“不再需要”我的应用程序?

我知道结束进程的一些技巧(但是,此问题的目的是找到一些可以诱导“不再需要”的ActivityManager方法的方法)。
  • 使用“管理应用程序”,触摸“强制停止”按钮。问题在于它似乎并不总是与ActivityManager“不再想要”方法完全相同。
  • 运行许多占用内存的应用程序。问题在于它不可靠且耗时。有时我可以运行许多应用程序,但是看不到ActivityManager的信息。
  • OS API killBackgroundProcesses() 。问题在于,尚不清楚是否显式调用killBackgroundProcesses()是否与ActivityManager“不再需要”方法完全相同。
  • 最佳答案

    在较新的Android版本中,有一个“不保留 Activity ”选项。选择后,每个 Activity 都会在用户离开 Activity 后立即销毁。例如,我们有 Activity A和B。
    正常流量

  • Activity A开始 Activity B

  • 选择不保留 Activity 后
  • Activity A开始 Activity B
  • B-> onCreate,A-> onDestroy(注意
    开始 Activity B后A通话未结束的消息)
  • 按下返回按钮可将您带回 Activity A
  • 关于android - 引导ActivityManager到 “No longer want”进行测试,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7639760/

    10-13 03:04