killProcess与system退出 (疑惑)

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来进行管理
发布了20 篇原创文章 · 获赞 3 · 访问量 429

猜你喜欢

转载自blog.csdn.net/weixin_41078100/article/details/104326889