activity 的视图是否在 OS 重启后调用 onActivityResult() 之前重新创建?
Is the activity's view recreated before its onActivityResult() called after an OS restart?
假设我有 Activity A。我使用 startActivityForResult() 从 ActivityA 开始 ActivityB,每当完成时,setResult( ) 在 Activity B 中调用函数,导致 Activity 的 A onActivityResult() 被调用。
但是,如果当我在 Activity B 时,android OS 终止应用程序并重新启动它会怎样。当应用程序恢复时,我回到 Activity B,然后我通过调用 setResult() 选择 return 回到 Activity A。所以我的问题是,在调用 onActivityResult() 之前是否重新创建了 Activity A 的视图(调用了 onCreate())?在这种情况下,是否会调用 Activity A 的 onActivityResult()?
感谢阅读。
So my question is, is Activity A's view recreated(onCreate() called)
before its onActivityResult() is called? In such a scenario, is
Activity A's onActivityResult() even called?
是的。如果 OS 终止了您的应用进程并且 Activity B 完成,则 OS 知道重新创建 Activity A 并将结果传递给 onActivityResult (),就好像ActivityA根本就没有死一样。
注:
- 这只有在您的两个活动处于不同流程中时才有可能。 OS 永远不会在内存压力下直接杀死 activity。它只是终止了托管 activity 的整个进程。如果您的两个活动都托管在同一个进程中,那么您的情况就不会发生。
- 任何回调 class 实例,成员变量,甚至静态变量都与 Activity A 一起销毁,因为整个过程是 killed.You 必须在 Activity A.
假设我有 Activity A。我使用 startActivityForResult() 从 ActivityA 开始 ActivityB,每当完成时,setResult( ) 在 Activity B 中调用函数,导致 Activity 的 A onActivityResult() 被调用。
但是,如果当我在 Activity B 时,android OS 终止应用程序并重新启动它会怎样。当应用程序恢复时,我回到 Activity B,然后我通过调用 setResult() 选择 return 回到 Activity A。所以我的问题是,在调用 onActivityResult() 之前是否重新创建了 Activity A 的视图(调用了 onCreate())?在这种情况下,是否会调用 Activity A 的 onActivityResult()?
感谢阅读。
So my question is, is Activity A's view recreated(onCreate() called) before its onActivityResult() is called? In such a scenario, is Activity A's onActivityResult() even called?
是的。如果 OS 终止了您的应用进程并且 Activity B 完成,则 OS 知道重新创建 Activity A 并将结果传递给 onActivityResult (),就好像ActivityA根本就没有死一样。
注:
- 这只有在您的两个活动处于不同流程中时才有可能。 OS 永远不会在内存压力下直接杀死 activity。它只是终止了托管 activity 的整个进程。如果您的两个活动都托管在同一个进程中,那么您的情况就不会发生。
- 任何回调 class 实例,成员变量,甚至静态变量都与 Activity A 一起销毁,因为整个过程是 killed.You 必须在 Activity A.