我想知道从主屏幕运行Android应用程序(应用程序图标)与从任务管理器运行它有什么区别。每当我从主屏幕运行它时,我可以在短时间内看到启动画面,但之后我转发到最新的应用程序状态。从任务管理器运行它的唯一区别是我没有看到启动画面。这种行为背后有合理的解释吗?有时从主屏幕(应用程序图标)运行应用程序时,它会永远挂在启动画面上,我无法以任何方式调试它......
答案 0 :(得分:0)
这是因为当您从主屏幕启动时,应用程序会重新启动而不会重新开始。您可以在此处找到此行为的解释App restarts rather than resumes
答案 1 :(得分:0)
你需要知道Activity的生命周期,就像@FabriBertani有said一样。您可以通过生命周期方法查看Activity的生命周期:
OnCreate
- > OnStart
- > OnResume
- > OnPause
- > OnStop
- > OnDestroy
。
这是活动的正常生命周期。
主屏幕和任务管理器有几个类别
如果应用最近在您的设备中运行,则表示Android Warm Start。
如果该应用最近未在您的设备中运行,则表示Android冷启动,因此我们通常会使用splash screen来处理它。
这种行为背后有合理的解释吗?
是。根据您的情况,它应该是 Android冷启动并且未被杀死。
OnCreate
- > OnStart
- > OnResume
,在调用活动OnCreate
之前,需要创建应用所需的环境,以便您看到启动画面。如果我们不设置自定义初始屏幕,您会在看到最新的应用程序状态之前看到白色或黑色屏幕。Back Button
,您的应用将位于最近的应用中,它会调用:OnPause
- > OnStop
,当您从任务管理器运行应用时,它会调用:OnRestart
- > OnStart
- > OnResume
,因此您无法看到启动画面。