首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >android监听进程杀死_安卓进程管理

android监听进程杀死_安卓进程管理

作者头像
全栈程序员站长
发布2022-10-29 10:12:08
发布2022-10-29 10:12:08
2.6K0
举报

大家好,又见面了,我是你们的朋友全栈君。

今天在编写 application 通用组件时,需要在低内存的回调中杀死进程,所以找了下 androd 傻进程的方法,总结下来有下面几种:

根据进程名称杀进程

android.os.Process.killProcess(android.os.Process.myPid());

代码本身没什么可以说的,需要注意的是,当进程在前台时,会杀死现有进程,然后再重新启动改线程,类似于手机的重启。但是只要我们把 app home 键切到后台,再杀进程就不会重启进程了,这里适合我的需求,当 app 进程处于后台进程并切在回收列表中部时,自己杀死自己,放置系统杀死集成回收,再次启动进程时 activity 栈缓存的问题

用 java api 退出当前线程

System.exit(0);

和上面面临同一个问题,进程在前台时,杀完进程会重启进程

杀别的进程,单杀不死自己

有杀死和重启进程2种,都需要相关权限

ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);

activityManager.killBackgroundProcesses(“com.zhang.wei”);

ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);

activityManager.restartPackage(“com.zhangwei”);

需 root 权限

这个肯定用不上,但是这里也写上吧,方便对比查阅

try {

ActivityManager am =(ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);

Method method = Class.forName(“android.app.ActivityManager”).getMethod(“forceStopPackage”,String.class);

method.invoke(am,pkgName);

}catch(Exception e){

e.printStackTrace();

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/197307.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月4日 下,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档