Android可以彻底杀死一个进程吗

2024-11-21 23:39:31
推荐回答(2个)
回答1:

可以的。
当应用不再使用时,通常需要关闭应用,可以使用以下两种方法关闭android应用:

第一种方法:首先获取当前进程的id,然后杀死该进程。 (建议使用)
android.os.Process.killProcess(android.os.Process.myPid())

第二种方法:终止当前正在运行的Java虚拟机,导致程序终止
System.exit(0);

第三种方法:强制关闭与该包有关联的一切执行
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
manager.restartPackage(getPackageName());

回答2:

Android可以彻底结束掉一个进程。

这个问题跟Android系统框架相关,没有root权限的APP或进程管理器一般情况(指,调系统API情况下)无法彻底结束一个进程(但,反射可以做到),自制ROM不可以解决,原因同上(但,改Androidos源码可做到,需要重构 restartPackage、killBackgroundProcesses 方法)

通过系统设置-->应用程序管理-->进入列表中的任意一个应用管理界面都有一个“强行停止”按钮,强行停止可以做到你说的彻底杀死一个进程。
说明:系统该方法用到的是FORCE_STOP_PACKAGES权限,该权限只赋予系统签名级程序。

Android2.2之前可以用ActivityManager.restartPackage()做到,之后的版本用killBackgroundProcesses() 但已经不能彻底结束