首页 > 技术文章 > android.os.Process.killProcess(android.os.Process.myPid())与Activity生命周期的影响

butterfly-clover 2015-04-15 13:33 原文

如果通过finish方法结束了一个Activity,那么根据Activity的生命周期,则会自动调用Activity的销毁方法onDestory(),但是在项目中遇到这样的一个问题,就是​Activity在finnish()后,在代码后面还跟上了android.os.Process.killProcess(android.os.Process.myPid())这个方法。
则Activity中的onDestory()不会执行,去掉后就正常执行了,我在项目中反复试了几次,的确是这样的。具体原因还不明白,不知道为啥onDestory()方法执行是否和android.os.Process.killProcess(android.os.Process.myPid())有直接的关系,待研究!

解释1:android.os.Process.killProcess(android.os.Process.myPid())这个绕过了生命周期的顺序,属于强制关闭。

解释2:你可以在oncreate中 this.finish().在onDestroy中android.os.Process.myPid()),这样就能这样就能彻底关闭进程,同时不会无限循环。

推荐阅读