Android可以彻底杀死一个进程吗
2个回答
展开全部
可以的。
当应用不再使用时,通常需要关闭应用,可以使用以下两种方法关闭android应用:
第一种方法:首先获取当前进程的id,然后杀死该进程。 (建议使用)
android.os.Process.killProcess(android.os.Process.myPid())
第二种方法:终止当前正在运行的Java虚拟机,导致程序终止
System.exit(0);
第三种方法:强制关闭与该包有关联的一切执行
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
manager.restartPackage(getPackageName());
<uses-permission android:name="android.permission.RESTART_PACKAGES" />
当应用不再使用时,通常需要关闭应用,可以使用以下两种方法关闭android应用:
第一种方法:首先获取当前进程的id,然后杀死该进程。 (建议使用)
android.os.Process.killProcess(android.os.Process.myPid())
第二种方法:终止当前正在运行的Java虚拟机,导致程序终止
System.exit(0);
第三种方法:强制关闭与该包有关联的一切执行
ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
manager.restartPackage(getPackageName());
<uses-permission android:name="android.permission.RESTART_PACKAGES" />
展开全部
Android可以彻底结束掉一个进程。
这个问题跟Android系统框架相关,没有root权限的APP或进程管理器一般情况(指,调系统API情况下)无法彻底结束一个进程(但,反射可以做到),自制ROM不可以解决,原因同上(但,改Androidos源码可做到,需要重构 restartPackage、killBackgroundProcesses 方法)
通过系统设置-->应用程序管理-->进入列表中的任意一个应用管理界面都有一个“强行停止”按钮,强行停止可以做到你说的彻底杀死一个进程。
说明:系统该方法用到的是FORCE_STOP_PACKAGES权限,该权限只赋予系统签名级程序。
Android2.2之前可以用ActivityManager.restartPackage()做到,之后的版本用killBackgroundProcesses() 但已经不能彻底结束
这个问题跟Android系统框架相关,没有root权限的APP或进程管理器一般情况(指,调系统API情况下)无法彻底结束一个进程(但,反射可以做到),自制ROM不可以解决,原因同上(但,改Androidos源码可做到,需要重构 restartPackage、killBackgroundProcesses 方法)
通过系统设置-->应用程序管理-->进入列表中的任意一个应用管理界面都有一个“强行停止”按钮,强行停止可以做到你说的彻底杀死一个进程。
说明:系统该方法用到的是FORCE_STOP_PACKAGES权限,该权限只赋予系统签名级程序。
Android2.2之前可以用ActivityManager.restartPackage()做到,之后的版本用killBackgroundProcesses() 但已经不能彻底结束
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询