关于 System.exit(code) and android.os.Process.killProcess(pid) 或者发生RunTimeException导致应用重启 的问题,由于没有找到正式官方的文档说明,所以本人通过代码进行了一系列测试发现了某些规律
有不对的请知晓者告知。
首先在android中一个进程对应一个dalvik vm 实例,一个应用可以有一到多个进程也就是对应一到多个dalvik vm instance。一个应用可以有一到多个Task,每个Task 里面可以有一到多个TaskRecord。每个TaskRecord 对应了一个Activity。
OK,再来看一下api 文档时如何解释这两个方法的:
Causes the VM to stop running and the program to exit with the given exit status. If runFinalizersOnExit(boolean)
has been previously invoked with a true
argument, then all objects will be properly garbage-collected and finalized first.