我希望能够在我的 Android 应用程序启动以及退出时执行一些逻辑。我知道在 Android 中并没有这样的概念,因为每个活动都有自己的生命周期。
假设我有活动 A、B、C 和 D,并且 A 是根活动。
应用启动:
我可以将逻辑放入
onCreate()
A 中,但是当方向改变时以及(可能,如果内存不足)如果用户Back
从活动 B、C 或 D 中按下键,也会调用此逻辑。我可以创建一个扩展
Application
并将逻辑放入的类onCreate()
。我试过这个,但onCreate()
在我按下Home
键然后通过单击主菜单中的相关图标重新启动应用程序的情况下没有被调用。
应用退出:
onStop()
我可以在所有活动中或为所有活动放入逻辑onDestroy()
,但我需要再次判断这是否由于转换到我的应用程序中的另一个活动而没有被调用。另外,不能保证内存不足时会调用这些函数吗?我可以在所有活动中覆盖 onLeaveUserHint() - 这样做有什么缺点吗?
编辑(根据 CommonsWare 的要求):
“应用程序启动” - 我对应用程序启动的解释是当我的活动中的一个活动在显示时没有显示(例如,用户在主菜单中单击我的应用程序图标)。
“应用程序退出” - 我对应用程序“退出”的解释是当我的任何活动都没有显示时,因为用户在显示其中一个活动后故意离开活动(例如,通过按“主页”键或“返回” “ 钥匙)。
(我希望这能提供一些澄清)。