Android生命周期:状态转换的解释

Android生命周期:状态转换的解释,android,android-lifecycle,Android,Android Lifecycle,我想讨论一下Android的生命周期。我知道Android生命周期的基本原理,但我想问一些问题 为什么Android应用程序不能从运行状态直接停止?为什么它首先要经过暂停阶段 为什么安卓应用程序不像IPhone应用程序那样从运行到直接销毁?为什么它会从暂停->停止->销毁为什么不运行->销毁移动 应用程序不会立即销毁,主要是因为性能原因。从: 安卓系统试图将应用程序进程保持在原来的状态 尽可能长,但最终需要删除旧流程 当内存不足时 例如,如果屏幕仍处于开机状态,并且设备不迫切需要释放内存,那么如

我想讨论一下Android的生命周期。我知道Android生命周期的基本原理,但我想问一些问题

  • 为什么Android应用程序不能从运行状态直接停止?为什么它首先要经过暂停阶段

  • 为什么安卓应用程序不像IPhone应用程序那样从运行到直接销毁?为什么它会从暂停->停止->销毁为什么不运行->销毁移动


  • 应用程序不会立即销毁,主要是因为性能原因。从:

    安卓系统试图将应用程序进程保持在原来的状态 尽可能长,但最终需要删除旧流程 当内存不足时

    例如,如果屏幕仍处于开机状态,并且设备不迫切需要释放内存,那么如果活动只是暂停而不是完全销毁,用户显然会更快。多个生命周期结束阶段使这成为可能

    不同的回调表示不同的事情。这允许您将清理功能分为快速、关键项(断开与数据库或网络连接等系统资源的连接)和长期任务(例如,在应用程序的启动过程中保存用户数据)。因为您的活动被尽可能长时间地保留,所以当用户只是暂时暂停活动时,您可以避免昂贵的操作

    onPause()
    是第一个回调,表示您的活动不再位于前台。例如,如果出现对话框或用户按下Home按钮,应用程序将暂停。例如,如果应用程序因某个对话框而暂停,您不会希望它被销毁,因为它仍然可见

    如果您还收到
    onStop()
    ,则表示您的活动不再可见。此时,用户不再看到您正在显示的内容。例如,这可能意味着用户打开了另一个应用程序。然而,即使在这一点上,系统仍可能保留您的活动,以便用户稍后更快地返回。(但是,如果您/用户结束了该活动,则该活动将不会被保留,并将继续进行生命周期结束回调。)


    onDestroy()
    是销毁活动之前的最终回调。请注意,在极端情况下,系统可能会在不调用此方法的情况下破坏您的活动。

    您是在问“他们为什么这样做?”,还是您在Android进程生命周期中遇到了一些特定问题?不,不,我只是想知道生命周期为什么以这种方式移动