//在Activity里使用:

//我的这个是指定了一个包名,除了这个包名的应用,其他全部清理

private void CleaningOperation() {ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);List<ActivityManager.RunningAppProcessInfo> infoList = am.getRunningAppProcesses();List<ActivityManager.RunningServiceInfo> serviceInfos = am.getRunningServices(100);//                Log.d("TAGDD1", "-----------before memory info : " +this.getAvailMemory(getApplicationContext()));int count = 0;if (infoList != null) {for (int i = 0; i < infoList.size(); ++i) {ActivityManager.RunningAppProcessInfo appProcessInfo = infoList.get(i);Log.e("TAGDD1", "process name : ----------" + appProcessInfo.processName);//importance 该进程的重要程度  分为几个级别,数值越低就越重要。Log.e("TAGDD2", "importance : -----------" + appProcessInfo.importance);// 一般数值大于RunningAppProcessInfo.IMPORTANCE_SERVICE的进程都长时间没用或者空进程了// 一般数值大于RunningAppProcessInfo.IMPORTANCE_VISIBLE的进程都是非可见进程,也就是在后台运行着
//                        if (appProcessInfo.importance > 100) {
//                            String[] pkgList = appProcessInfo.pkgList;
//                            for (int j = 0; j < pkgList.length; ++j) {//pkgList 得到该进程下运行的包名
//                                Log.e("TAGDD4", "It will be killed, package name : " + pkgList[j]);
//                                am.killBackgroundProcesses(pkgList[j]);
//                                count++;
//                            }
//                        }//只要不是com.example.hasee.a1011ceshi这个包名的进程,其余进程全部禁止if(!appProcessInfo.processName.equals("com.example.hasee.a1011ceshi")) {String[] pkgList = appProcessInfo.pkgList;for (int j = 0; j < pkgList.length; ++j) {//pkgList 得到该进程下运行的包名Log.e("TAGDD3", "It will be killed, package name : ----------" + pkgList[j]);am.killBackgroundProcesses(pkgList[j]);count++;Log.e("TAGDD4", "count : ----------" + count+"");}}}}}

//权限:

<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />

2:

 private void clearMemory() {ActivityManager am = (ActivityManager) getContext().getSystemService(Context.ACTIVITY_SERVICE);List<ActivityManager.RunningAppProcessInfo> infoList = am.getRunningAppProcesses();int count = 0;if (infoList != null) {for (int i = 0; i < infoList.size(); ++i) {ActivityManager.RunningAppProcessInfo appProcessInfo = infoList.get(i);
//                Log.i(getClass().getSimpleName(), "process name : ----------" + appProcessInfo.processName);//importance 该进程的重要程度  分为几个级别,数值越低就越重要。
//                Log.i(getClass().getSimpleName(), "importance : -----------" + appProcessInfo.importance);//只要不是com.tq.recorder这个包名的全部进程给禁止了if (!appProcessInfo.processName.equals("com.tq.recorder")) {String[] pkgList = appProcessInfo.pkgList;for (int j = 0; j < pkgList.length; ++j) {//pkgList 得到该进程下运行的包名Log.e(getClass().getSimpleName(), "It will be killed, package name : ----------" + pkgList[j]);am.killBackgroundProcesses(pkgList[j]);count++;Log.e(getClass().getSimpleName(), "count : ----------" + count + "");}}}}//获取运行内存大小ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo();am.getMemoryInfo(mi);long availMem = mi.availMem;long ava = availMem / 1024 / 1024;//开始清理后台运行内存,并显示到文本上mCleanMemory.setText("可用内存 " + (ava >= 1024 ? (String.format("%.2f", (float) ava / 1024) + "G") : (ava + "M")));//mCleanMemory TextView框显示当前运行内存Toast.makeText(getContext(), "清理完毕,当前可用运行内存:" + mCleanMemory.getText().subSequence(4, mCleanMemory.getText().length()), Toast.LENGTH_SHORT).show();}

//------------------------------------------------------------------完------------------------------------------------------------------------------

82.android 简单的当前运行内存清理相关推荐

  1. android代码实现手机加速功能,Android自定义View实现内存清理加速球效果

    Android自定义View实现内存清理加速球效果 发布时间:2020-09-21 22:21:57 来源:脚本之家 阅读:105 作者:程序员的自我反思 前言 用过猎豹清理大师或者相类似的安全软件, ...

  2. Android 自定义控件-高仿猎豹清理大师自定义内存开口圆环控件

    技术:Android+java 概述 看见猎豹清理大师的内存开口圆环比例进度 挺有意思的,于是就是想自己实现下这样的效果,于是反编译了猎豹清理 大师的app看了下,原来是有两张图,于是脑子里就过了下思 ...

  3. android os开机画面,Android简单实现启动画面的方法

    本文实例讲述了Android简单实现启动画面的方法.分享给大家供大家参考,具体如下: 核心代码: package com.demo.app; import android.app.Activity; ...

  4. android 代码浏览,Webview实现android简单的浏览器实例代码

    WebView是Android中一个非常实用的组件,它和Safai.Chrome一样都是基于Webkit网页渲染引擎,可以通过加载HTML数据的方式便捷地展现软件的界面,下面通过本文给大家介绍Webv ...

  5. 拼图java监听器,Android 简单的实现滑块拼图验证码功能

    实现滑块拼图验证码功能之前已经写过一篇了,上一篇使用的是自定义控件的方式实现这个功能,主要还是想让童鞋们知其然更知其所以然,还没看的童鞋可以先看看Android实现滑块拼图验证码功能这篇. 在项目的开 ...

  6. android简单即时聊天sdk

    android简单即时聊天sdk 切换用户登录的实现 联系人列表的实现 聊天页的实现 消息缓存与排序 消息接收和分发--数据库队列和投递队列 有序列表的维护 切换用户登录的实现 由于不同的登录用户需要 ...

  7. 简单的Android程序多少钱,Android简单程序利息计算器

    我在编程Android的第一课,并为我的第一次尝试,我试图开发一个利息计算器.该应用程序启动,但然后崩溃.代码如下:Android简单程序利息计算器 package com.example.vitor ...

  8. Android简单学习使用PictureSelector框架图片选取裁剪

    Android简单学习使用PictureSelector框架图片选取裁剪 关于 效果图 第一步,添加引用 第二步,新建activity_main.xml布局文件 第三步,修改MainActivity. ...

  9. Android简单计算器实现

    Android简单计算器实现 前言 最近刚开始学习安卓,只是简单的看到布局那块,就开始上手写了,从布局那里就开始各种乱,还到处拖按钮,一开始的第一版只能实现两个数的运算,比较简单,就是简单的上了个手, ...

最新文章

  1. 算法笔记-两数之和、三数之和、四数之和(LeetCode)
  2. 计算机网络-思维导图(5)传输层
  3. 活动执行手册_1-200家门店,标准化不等于手册!而是标准+训练+督导,缺一不可!...
  4. 哈弗f5i潮配置参数_10万元起售的潮人新玩法,哈弗F5国潮版购车手册
  5. Xss Csrf 简介
  6. oracle锁表会话超时时间,ORACLE快速彻底Kill掉的会话,防止锁表
  7. 在Kaggle上免费使用GPU
  8. 配置SAMBA文件共享的基本方法
  9. TypeScript - Interfaces
  10. oracle 10g rac 包root.sh报错,案例:Oracle Rac root.sh报错 Failed to create keys in the OLR
  11. kettle查询mysql获取uuid_java中调用kettle转换文件
  12. 全国土壤阳离子交换量CEC空间分布数据
  13. txtv28pw河南某中学_有一种寒冷叫不穿秋裤!河南一中学班主任让学生列队挨个检查秋裤...
  14. 直播视频网站源码,列表的展开更多和点击收起功能
  15. 数控加工仿真系统 - FANUC OI 车床编程笔记(粗略)
  16. 广数工业机器人五点法_广州数控工业机器人GR-C控制系统操作说明书(2014年11月.pdf...
  17. 想哭的鱼最新QQ伤感日志发布:你不该,不相信我
  18. Python专栏 | ICA应用:如何识别伪影信号?(一)
  19. 从猎豹移动到瑞幸咖啡,看中国企业在海外的信誉破产
  20. Android攻城狮Handler简介

热门文章

  1. Win11安装Ubuntu子系统报错WslRegisterDistribution failed with error: 0x800701bc
  2. Ubuntu下载功能包时出现:检验数字签名时出错,此仓库未被更新,所以仍然使用此前的索引文件的解决办法
  3. 量子计算与量子信息之量子力学引论(一)
  4. c语言背景音乐,背景图,背景字体
  5. [Maven进阶]多环境配置与应用
  6. Element引入Iconfont(阿里巴巴矢量图标库)第三方图标库
  7. c 语言写数独游戏,经典数独游戏+数独求解器—纯C语言实现
  8. 注册中心对比Zookeeper、Eureka、Nacos、Consul和Etcd
  9. 大数据毕设/课设 - 水质情况实时监测预警可视化设计与实现
  10. KPI与360度考核结合的应用落地方案