我所知,已经被Android系统摧毁的应用程序驻留在最近的应用程序中。例如,我启动了我的应用程序并浏览了几个活动。然后退出,并打开其他几个应用程序,几个小时没有再次启动我的应用程序。我上次打开的活动将保留在最近的应用程序中,即使它已被系统销毁。我的问题是,当我从最近的应用程序列表中触摸我的应用程序时,将运行哪些生命周期方法以及按什么顺序运行? 另外,在最近的应用程序上仍显示的活动中的数据会发生什么情况?它是从一开始就创建的吗?我还有活动堆栈吗?我的基本应用程序类也会重新创建吗?
根据活动的生命周期,在您的应用程序被 android 操作系统杀死后(为了获得更多优先级应用程序的内存(,您的活动将从 onCreate(( 方法开始,并像往常一样经历循环( 您的数据呢:
- 如果您的视图具有 ID,则将恢复视图中的值(如 EditText(。
- 您的变量值我建议您使用 onSaveInstanceState(( 和 onRestoreInstanceState(( 保存和恢复。
这里有两种情况:-
-
如果您的应用程序仍在最近的应用程序中很长时间,并且其他应用程序需要内存,您的应用程序将被Android操作系统杀死,如果您再次打开它,它将从启动画面启动。
-
如果您的应用程序在最近的应用程序中停留了很短的时间而不需要内存,则您使用的最后一个活动将被打开,从
onStart()
开始其生命周期。
按下主页按钮后,它将调用onStop
而不会破坏它,除非操作系统或用户这样做。