Android活动生命周期-onStop()之后和调用onDestory()时会发生什么

Android活动生命周期-onStop()之后和调用onDestory()时会发生什么,android,android-activity,Android,Android Activity,我想问一下活动的生命周期 如果某个活动要进入后台,或者用户按下home按钮,应用程序本身就不再可见,则会调用onStop(),但并不总是销毁 1) 当上述情况发生时,活动实际发生了什么?它会移到后面吗?还是别的什么 2) 具体与第一个问题相关-如果活动已停止,但在停止时尚未调用ondestory()方法,则何时调用ondestory()方法 3) 通常关于onDestory()-我知道当系统没有足够的资源时,或者当Android为了加载另一个纵向/横向布局而破坏纵向/横向布局时,会调用onDes

我想问一下活动的生命周期

如果某个活动要进入后台,或者用户按下home按钮,应用程序本身就不再可见,则会调用
onStop()
,但并不总是销毁

1) 当上述情况发生时,活动实际发生了什么?它会移到后面吗?还是别的什么

2) 具体与第一个问题相关-如果活动已停止,但在停止时尚未调用
ondestory()
方法,则何时调用
ondestory()
方法

3) 通常关于
onDestory()
-我知道当系统没有足够的资源时,或者当Android为了加载另一个纵向/横向布局而破坏纵向/横向布局时,会调用
onDestory()
。还有什么时候可以调用它?

1)当上述情况发生时,活动实际发生了什么?它会移到后面吗?还是别的什么

假设您已按下“主页”按钮,当前应用程序将移动到后台状态,此时当前应用程序活动的对象将存储在任务中,并且此任务具有应用程序活动的所有对象。因此,此任务将在内存中,只有当内存不足或任何用户手动终止应用程序或调用finish()方法时,Android系统才会终止此任务

2) 具体与第一个问题相关——当活动已经停止,但在停止时onDestroy()尚未调用时,何时调用onDestroy()方法

onDestroy()将仅在以下情况下调用

  • 用户手动终止应用程序
  • Android系统将回收内存不足的地方
  • 当在代码本身中调用finish()时
  • 希望能有所帮助。

    1)当发生上述情况时,活动实际会发生什么变化?它会移到后面吗?还是别的什么

    假设您已按下“主页”按钮,当前应用程序将移动到后台状态,此时当前应用程序活动的对象将存储在任务中,并且此任务具有应用程序活动的所有对象。因此,此任务将在内存中,只有当内存不足或任何用户手动终止应用程序或调用finish()方法时,Android系统才会终止此任务

    2) 具体与第一个问题相关——当活动已经停止,但在停止时onDestroy()尚未调用时,何时调用onDestroy()方法

    onDestroy()将仅在以下情况下调用

  • 用户手动终止应用程序
  • Android系统将回收内存不足的地方
  • 当在代码本身中调用finish()时

  • 希望有帮助。

    当用户按下主页按钮时,活动将进入停止状态,但尚未销毁。您可以从最近的应用程序堆栈恢复它。答案的另一部分你可以。如果错过了
    onDestroy()
    ,但
    Activity
    被终止,它将不会再被调用,因为
    Activity
    将被删除,直到那时。我看不出你问题的重点。尤其是“何时调用onDestroy()方法”似乎没有意义。当活动即将被销毁时,将调用它,句号。你可能需要的东西应该都有了。只需坚持指定的生命周期,避免尝试“智能”操作,例如,将数据从一个实例传输到下一个实例。这将导致问题和用户面临意外行为。当用户按下Home按钮时,活动将进入停止状态,但尚未销毁。您可以从最近的应用程序堆栈恢复它。答案的另一部分你可以。如果错过了
    onDestroy()
    ,但
    Activity
    被终止,它将不会再被调用,因为
    Activity
    将被删除,直到那时。我看不出你问题的重点。尤其是“何时调用onDestroy()方法”似乎没有意义。当活动即将被销毁时,将调用它,句号。你可能需要的东西应该都有了。只需坚持指定的生命周期,避免尝试“智能”操作,例如,将数据从一个实例传输到下一个实例。这将导致问题和用户面临意外行为。