0

如果另一个应用程序需要内存,我知道 Android 在杀死不需要的进程方面是如何工作的,但我不喜欢我目前开发的应用程序的以下行为:

  • 我启动我的应用程序,它有很多不同的屏幕/活动
  • 使用后,我按下手机的主页按钮并切换到其他应用程序。(假设我在屏幕 C 上的活动 C 处于活动状态时执行此操作)。

我的手机是 HTC One X,我检查过,当我运行我通常需要的应用程序时,总是有大约 300MB 的可用内存。

问题:即使我在几天没有使用它后重新启动应用程序,应用程序也会在屏幕 C 上以 Activity C 重新启动。在我看来,几天不使用应用程序后,它应该以“欢迎屏幕”重新启动我建立。

由于没有使用背景进程或资源(所有这些东西都是通过按下按钮完成的并且必须完成 - 所以不需要自动化的后台进程),我认为,Android 并不觉得有必要杀死它。

有谁知道,“Android 最佳实践”的样子,或者我可以在哪里阅读应用程序在这种情况下应该有什么行为?

(......我不是在寻找代码,但我不知道我应该用什么方法来解决这个问题)

非常感谢您的帮助

4

2 回答 2

1

我认为您可以轻松地执行finish()活动的 ononPause()方法。

不确定这是否是最佳做法。等待其他答案。

于 2012-11-25T09:06:46.707 回答
0

如果我没记错的话,以下标志可以在Intent开始新的使用时为您提供帮助ActivityFLAG_ACTIVITY_NO_HISTORY。正如文档所说:

f 设置,新的活动不保存在历史堆栈中。一旦用户离开它,活动就完成了。

因此,如果Activities除了欢迎屏幕之外的所有应用程序都使用此标志启动,则下次用户返回您的应用程序时,他会到达欢迎屏幕。此解决方案的缺点是,如果用户在使用您的应用程序时接到电话,当通话结束时,他也会被转移到欢迎屏幕。不知道有没有其他解决办法。希望这可以帮助。

于 2012-11-25T09:03:45.577 回答