我希望能够在我的Android应用程序启动时以及退出时执行某些逻辑。我知道在Android中并没有这样的概念,因为每个活动都有自己的生命周期。
假设我有活动A,B,C& D和A是根活动。
应用程序启动:
我可以将onCreate()
中的逻辑放入A中,但如果用户点击Back
键,则在更改方向时调用此方法(如果内存不足,也可能调用此方法)来自活动B,C或D.
我可以创建一个扩展Application
的类并将逻辑放在onCreate()
中。我尝试了这个,但是在我按下onCreate()
键的情况下没有调用Home
,然后点击主菜单中的相关图标重新启动应用程序。
申请退出:
我可以在onStop()
或onDestroy()
中为所有活动设置逻辑,但我需要能够判断是否由于转换到另一个活动而未调用它在我的申请中。此外,当内存不足时,无法保证会调用这些函数吗?
我可以在所有活动中覆盖onLeaveUserHint() - 这样做有什么缺点吗?
编辑(根据CommonsWare的要求):
“应用程序启动” - 我对应用程序启动的解释是当我的活动中的某个活动在显示之后没有显示时(例如,用户点击了我的应用程序图标)主菜单)。
“应用程序退出” - 我对应用程序“退出”的解释是由于用户在显示其中一个活动后故意离开某个活动而未显示我的任何活动(例如按“Home”键或“Back”键。
(我希望这提供了一些澄清)。
答案 0 :(得分:1)
如果您需要将“逻辑”放在“活动”中并在应用程序启动时只调用一次,退出时可以执行以下操作:
应用程序启动,您检入共享首选项是第一次启动的应用程序 - 如果是 - >做你的逻辑并保存在你完成的共享首选项中。
当用户使用应用程序完成时,您可以覆盖onBackPressed(),执行您喜欢的任何操作并保存所需的应用程序状态,以便在应用程序再次启动时再次调用“逻辑”。
这是你的想法吗?