当应用程序崩溃时,Android会创建新的进程吗



我对Android应用程序崩溃时实际发生的事情很感兴趣。想象一下这样的情况——我们有一个应用程序,它不使用任何自定义的异常处理程序,只存储Android行为。那么,是什么原因导致应用程序崩溃,安卓系统试图重新创建最热门的活动(如果它具有有效状态(,或者将其丢弃并切换到一些父活动,但这实际上发生在哪里?这是否发生在安卓系统崩溃前应用程序运行的同一进程上?出于这个原因,这是一个全新的进程?谢谢

如果活动崩溃,将不会重新创建应用程序进程。如果在应用程序级别出现意外情况,则可以停止进程。它非常罕见。应用程序进程由操作系统维护。如果你想在活动崩溃时停止进程,那么你必须用程序告诉操作系统杀死下划线进程

android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);

所有进程都由操作系统管理。操作系统可以终止进程(在内存不足的情况下(并将进程的实例保存在缓存中。因此,当应用程序下次启动时,它会使用缓存中保存的状态来提供用户无缝体验如果您看到应用程序回调,则没有类似"活动回调"的回调,如"停止">onStop或"销毁">。存在回调,如onLowMemoryonTrimMemoryonTerminate

有关更多详细信息,请访问https://developer.android.com/guide/components/activities/process-lifecycle和https://developer.android.com/reference/androidx/lifecycle/ProcessLifecycleOwner

相关内容

最新更新