android.os.Process.killProcess 与 system.exit 退出方式
-
android.os.Process.killProcess
Process.killProcess 最终是调用 linux API kill() 发送 SIGKILL 信号。了解 Linux 编程的都知道,进行收到这个信息都会立即结束进程,Android 下不同的是 ActivityManager 一直监听者进程状态。如果发现进程被kill,会立即重启进行,并重启之前状态对应的Activity、Service、ContentProvider等。这就是为什么我们调用Process.killProcess后,发现程序是重启了,而不是被kill了。 -
system.exit
调用退出JVM虚拟机,释放掉app所占内存。
参数 0 1 -
0表示正常退出
-
1表示异常退出 需要try
问题:
- 俩个退出方式退出后是不是立即释放内存
- os监听到进程被杀,可能会重启app,这是怎样的一套机制
- 怎样才能做到完美退出程序,立即释放内存
- application会自动退出,当我们长时间不操作app,会自动退出,由os来进行管理