0

我希望能够在我的 Android 应用程序启动以及退出时执行一些逻辑。我知道在 Android 中并没有这样的概念,因为每个活动都有自己的生命周期。

假设我有活动 A、B、C 和 D,并且 A 是根活动。

应用启动:

  • 我可以将逻辑放入onCreate()A 中,但是当方向改变时以及(可能,如果内存不足)如果用户Back从活动 B、C 或 D 中按下键,也会调用此逻辑。

  • 我可以创建一个扩展Application并将逻辑放入的类onCreate()。我试过这个,但onCreate()在我按下Home键然后通过单击主菜单中的相关图标重新启动应用程序的情况下没有被调用。

应用退出:

  • onStop()我可以在所有活动中或为所有活动放入逻辑onDestroy(),但我需要再次判断这是否由于转换到我的应用程序中的另一个活动而没有被调用。另外,不能保证内存不足时会调用这些函数吗?

  • 我可以在所有活动中覆盖 onLeaveUserHint() - 这样做有什么缺点吗?

编辑(根据 CommonsWare 的要求):

“应用程序启动” - 我对应用程序启动的解释是当我的活动中的一个活动在显示时没有显示(例如,用户在主菜单中单击我的应用程序图标)。

“应用程序退出” - 我对应用程序“退出”的解释是当我的任何活动都没有显示时,因为用户在显示其中一个活动后故意离开活动(例如,通过按“主页”键或“返回” “ 钥匙)。

(我希望这能提供一些澄清)。

4

1 回答 1

1

如果您需要将“逻辑”放入 Activity 并在应用程序启动和退出时仅调用一次,您可以执行以下操作:

应用程序启动,您签入共享首选项是第一次启动的应用程序 - 如果是 - > 执行您的逻辑并保存您已完成的共享首选项。

当用户完成应用程序时,您可以覆盖 onBackPressed(),做任何您喜欢的事情并保存您需要的应​​用程序的任何状态,以便您可以在应用程序再次启动时再次调用您的“逻辑”。

这就是你的想法吗?

于 2012-12-10T14:33:06.527 回答