Android:应用程序的生命周期

时间:2013-09-17 21:48:08

标签: android lifecycle android-lifecycle

我想区分以下用例:

案例1: 用户停留在同一个应用中,并浏览相同应用的不同活动。

案例2: 用户导出应用程序,可能只是调用其设备的主屏幕或从某个其他应用程序调用活动。

在案例编号2中,我希望在再次调用我的主要活动时刷新一些数据,其中在不需要的情况下编号为1。在两种情况下都会调用生命周期方法onResume()和onStart(),因此无法将代码放在那里。我能做什么?感谢。

2 个答案:

答案 0 :(得分:1)

每当您发出导航命令时,您都必须写入共享首选项,该命令会将您从应用程序中移出并在加载主活动时检查共享首选项。要处理后退按钮的情况,您可以覆盖活动中的onBackPressed(),并按下主页按钮,您可以查看此博文:http://nisha113a5.blogspot.com/。如果您想处理最近的应用程序切换器,您可以执行与主页按钮方法类似的操作。

答案 1 :(得分:0)

您可以使用生命周期事件来检测您何时离开或进入您的应用。以下是我发现的规则:

  • 当用户进入时,总是调用onResume(在当前活动上)
  • 当用户离开时,总是调用onStop(在当前活动上)*
  • 当用户在活动之间移动时,总是在新活动上调用onResume,并且始终在旧活动上调用onStop。 onResume调用始终在onStop之前

*除非按下电源按钮(关闭),可能只能看到onPause电话。

此处有更多信息:http://www.artificialworlds.net/blog/2015/06/05/detecting-whether-an-android-app-is-stopping-or-starting/