Blu*_*rer 4 android android-lifecycle
正如在开发指南中所说,活动可以在"应用程序进程被杀死"和"用户导航到活动"之后恢复.首先,我从未见过这样的事情发生过.当它的进程被杀死时,我似乎不能"导航回"一个Activity,在进程消失后,Activity就会从堆栈中消失.
如果发生这样的事情,究竟会发生什么?
我看到了一个奇怪但好的事情:有一个Activity A1从Activity A2另一个应用程序启动.现在A2是前台活动.当内存变低时,至少在模拟器上(我可以很容易地占用RAM),A2将被杀死而不是A1.
我担心的是这样的例子:我的应用程序在堆栈上有两个活动,我们称之为A0和A1.而且A1,再一次,推出Activity A2另一个应用程序.什么A0时候即将启动A1,它提供A1了对数据对象的引用D.现在如果在A2处于前景时处理A0和A1被杀死,D也会丢失.A2完成后,似乎至少A1需要恢复.因此A1将不得不处理恢复D.更重要的是,A1必须找到一种方法来告诉仍然死亡A0的人对恢复的引用D.这是复杂的还是我走错了路?
系统将尽一切可能使前台应用程序保持活跃状态.
在Intent这是用来发射活动是由系统当进程即将被杀死保存.
这样,一旦用户返回已被杀死的应用程序,则应用程序将被恢复,同样Intent会被启动以启动活动,包括它可能具有的所有额外内容.
这意味着您在Intent传输活动时传递的任何数据在恢复活动时仍然存在.
您可能不会注意到它,但Android会在日常使用中杀死并重新创建进程,这就是平台提供的无缝多任务处理的重点.
您应该始终使用"开发"设置中的"不要保持活动"选项来测试您的应用.
| 归档时间: |
|
| 查看次数: |
1746 次 |
| 最近记录: |