如果你有一个android应用程序有多个Activity,并且Activity A启动了B,那么如果Activity b崩溃了,那么这个进程会被杀死,但是会被android操作系统重新启动并重新启动Activity A而不是关闭应用程序,为什么?为什么Android会“复活”崩溃的应用程序?
6
A
回答
4
你抱怨说,Android将尝试在崩溃后正常恢复您的应用程序的状态? ;)
这是Android的资源管理的结果,并在工作中活动的生命周期。请记住,单个任务可以由多个活动组成,这些活动可能跨越多个进程或应用程序。如下所述:http://android-developers.blogspot.com/2010/04/multitasking-android-way.html Android进程不会在传统的* nix进程意义上“干净地”关闭。您的应用程序的组件会接收生命周期事件,但在某个特定时间点后,应用程序可能会被终止而无需进一步警告,以便系统可以回收其资源。
例如,用户可能会浏览网页,点击YouTube链接启动的YouTube应用,然后点击分享按钮,以启动他们喜爱的社交网络应用程序和发布视频链接。这是同一项任务的一部分;如果用户多次按下,他们会回到他们开始的浏览器页面。
一旦你开始了社交网络应用程序,系统可能会决定它的运行内存不足,它会杀了关闭浏览器的过程中,以腾出更多。 (毕竟,它不在前面,用户不会注意到。)当用户按下后退按钮返回到浏览器活动时,它会重新启动并重建用户离开它的最后一个状态。在最坏的情况下,用户在重新初始化时遇到短暂的延迟。
但这同样的事件在还原以前的活动状态,甚至可以在在相同的工艺相同的应用程序发生的顺序。在您的方案中,由于崩溃导致活动B关闭。因此,系统完成它始终做的事情 - 它返回到前面的活动:活动A.但是活动A的过程不在(它崩溃!),所以系统重新启动它,它可以重建其以前的状态。
相关问题
- 1. 为什么以下行会崩溃我的Android应用程序?
- 2. Android活跃 - 应用程序崩溃
- 3. 为什么我的基础/教程android应用程序崩溃?
- 4. 为什么我的应用程序崩溃(复选框)
- 5. 复选框,崩溃的应用程序不知道为什么
- 6. 为什么NSMutableArray Count会崩溃我的应用程序?
- 7. SenTestingKit为什么会导致我的应用程序崩溃?
- 8. 偶尔我的应用程序会崩溃,为什么?
- 9. 为什么我的Android应用崩溃?
- 10. 为什么程序崩溃?
- 11. 为什么我的Android应用程序因openstream()而崩溃?
- 12. 为什么我的phoneGap Android应用程序在恢复时崩溃?
- 13. 如何确定为什么Android应用程序崩溃
- 14. 这个Android应用程序为什么立即崩溃?
- 15. 崩溃android应用程序
- 16. android应用程序崩溃
- 17. Android应用程序崩溃
- 18. Android应用程序崩溃
- 19. Android应用程序崩溃
- 20. 什么是UICalloutBarButton,它为什么会让我的应用程序崩溃?
- 21. execv为什么会崩溃?
- 22. 为什么nspredicate会崩溃?
- 23. PyObject_Print为什么会崩溃?
- 24. enable_shared_from_this。为什么会崩溃?
- 25. 为什么RSA_size会崩溃?
- 26. 什么会导致iPhone应用程序未报告的崩溃?
- 27. 为什么我的应用程序因为ImageView而崩溃?
- 28. Android:为什么BroadcastReceiver崩溃?
- 29. 为什么我的C程序崩溃
- 30. 为什么我的程序崩溃?
它实际上是复活A还是只是杀死B? – blindstuff 2010-12-08 15:42:48
它重新启动整个过程,但启动只有onCreate和onStart只有A,如果你有一个谁启动B谁启动C和C有一个崩溃的异常,然后android将启动应用程序进程,并把B放在前台,如果你按'返回'键,你会再次得到A,但它会再次调用A的onCreate。 – codeScriber 2010-12-08 15:55:06