关于 Process.killProcess(Process.myPid())的疑惑

2015-11-21 21:17:50 +08:00
 suikator
这句代码是杀掉当前进程的意思吗?

求指导
10363 次点击
所在节点    Android
6 条回复
suikator
2015-11-21 21:19:08 +08:00
TVBG
2015-11-21 22:12:42 +08:00
是的
suikator
2015-11-21 22:23:05 +08:00
@TVBG 一个 Android 应用程序中,所有的 activity 默认都在同一个进程中,那么在我开启了 N 个 activity 后,再对可见 activity 调用一次 killProcess ,就会把所有的可见和不可见 activity 全部结束掉?
HentaiMew
2015-11-21 22:24:11 +08:00
这种 API 太顾名思义了。当然是这个意思了。不过通常不是这么简单就能杀死自己的。在栈有多个 Activity 存在时,会被系统底层调度重新启动进程。
通常是给 Activity 加 FLAG_ACTIVITY_CLEAR_TOP 标记, finish()结束声明周期再由系统自己回收。
System.exit(0)或者 android.os.Process.killProcess(android.os.Process.myPid())都是不太好的做法。
suikator
2015-11-21 22:30:05 +08:00
@HentaiMew 有点意思,我再好好折腾一下
suikator
2015-11-21 22:47:42 +08:00
@HentaiMew 看来的确跟你说的一样,么么哒

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/237926

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX