android+内存清理+代码,最新版本:Android一键式清理,内存清理功能的实现

002f3dc4193b335eb9f11fe4298bccd8.png

Android一键式清理,内存清理功能的实山清理大师等均提供一键式清理和一键加速等功能。实际上,它们杀死了一些后台进程以达到释放内存的目的。

基本思想是列出所有正在运行的进程,检查它们的重要值(RunningAppProcessInfo.importance,该值越大,进程的重要性越低),可以设置一个阈值,如果过程大于阈值,则可以终止该过程。

该过程的重要性具有以下级别:

e67f068dc13e83a4012dc1fcd654c695.png

/**

* Constant for {@link #importance}: this is a persistent process.

* Only used when reporting to process observers.

* @hide

*/

public static final int IMPORTANCE_PERSISTENT = 50;

/**

* Constant for {@link #importance}: this process is running the

* foreground UI.

*/

public static final int IMPORTANCE_FOREGROUND = 100;

/**

* Constant for {@link #importance}: this process is running something

* that is actively visible to the user, though not in the immediate

* foreground.

*/

public static final int IMPORTANCE_VISIBLE = 200;

/**

* Constant for {@link #importance}: this process is running something

* that is considered to be actively perceptible to the user. An

* example would be an application performing background music playback.

*/

public static final int IMPORTANCE_PERCEPTIBLE = 130;

/**

* Constant for {@link #importance}: this process is running an

* application that can not save its state, and thus can't be killed

* while in the background.

* @hide

*/

public static final int IMPORTANCE_CANT_SAVE_STATE = 170;

/**

* Constant for {@link #importance}: this process is contains services

* that should remain running.

*/

public static final int IMPORTANCE_SERVICE = 300;

/**

* Constant for {@link #importance}: this process process contains

* background code that is expendable.

*/

public static final int IMPORTANCE_BACKGROUND = 400;

/**

* Constant for {@link #importance}: this process is empty of any

* actively running code.

*/

public static final int IMPORTANCE_EMPTY = 500;

需要权限:

669ff9de9463e2460d282d03e58985d0.png

具体操作代码如下:

package com.example.demo;

import java.util.List;

import android.app.Activity;

import android.app.ActivityManager;

import android.app.ActivityManager.MemoryInfo;

import android.app.ActivityManager.RunningAppProcessInfo;

import android.content.Context;

import android.content.pm.PackageManager;

import android.content.pm.PackageManager.NameNotFoundException;

import android.os.Bundle;

import android.util.Log;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.widget.Toast;

public class CleanProcessActivity extends Activity {

private static final String TAG = "Clean";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_clean_process);

}

public void clean(View v){

//To change body of implemented methods use File | Settings | File Templates.

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

ListinfoList = am.getRunningAppProcesses();

ListserviceInfos = am.getRunningServices(100);

long beforeMem = getAvailMemory(this);

Log.d(TAG, "-----------before memory info : " + beforeMem);

int count = 0;

PackageManager pm = getPackageManager();

if (infoList != null) {

for (int i = 0; i < infoList.size(); ++i) {

RunningAppProcessInfo appProcessInfo = infoList.get(i);

Log.d(TAG, "process name : " + appProcessInfo.processName);

//importance 该进程的重要程度 分为几个级别,数值越低就越重要。

Log.d(TAG, "importance : " + appProcessInfo.importance);

// 一般数值大于RunningAppProcessInfo.IMPORTANCE_SERVICE的进程都长时间没用或者空进程了

// 一般数值大于RunningAppProcessInfo.IMPORTANCE_VISIBLE的进程都是非可见进程,也就是在后台运行着

if (appProcessInfo.importance > RunningAppProcessInfo.IMPORTANCE_VISIBLE) {

String[] pkgList = appProcessInfo.pkgList;

for (int j = 0; j < pkgList.length; ++j) {//pkgList 得到该进程下运行的包名

String appName = null;

try {

appName = (String) pm.getApplicationLabel(pm.getApplicationInfo(pkgList[j], 0));

} catch (NameNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

Log.d(TAG, "It will be killed, package name : " + pkgList[j]+" -- "+appName );

am.killBackgroundProcesses(pkgList[j]);

count++;

}

}

}

}

long afterMem = getAvailMemory(this);

Log.d(TAG, "----------- after memory info : " + afterMem);

Toast.makeText(this, "clear " + count + " process, "

+ (afterMem - beforeMem) + "M", Toast.LENGTH_LONG).show();

}

private long getAvailMemory(CleanProcessActivity cleanProcessActivity) {

// 获取android当前可用内存大小

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

MemoryInfo mi = new MemoryInfo();

am.getMemoryInfo(mi);

//mi.availMem; 当前系统的可用内存

//return Formatter.formatFileSize(context, mi.availMem);// 将获取的内存大小规格化

Log.d(TAG, "可用内存---->>>" + mi.availMem / (1024 * 1024));

return mi.availMem / (1024 * 1024);

}

}

注意:

1e8e879ba33f02b6e8dede4030eaf4e5.png

我在此处选择的阈值为IMPORTANCE_VISIBLE级别,这意味着不可见的后台进程和服务将被杀死(某些系统进程除外)。

清洁效果类似于Kingsoft Cleaner和360 Desktop的一键式清洁效果。

如果您不想太猛烈地杀死进程,则可以选择IMPORTANCE_SERVICE级别来杀死那些长时间没有用或空的进程。此级别的清理功能不足以实山清理大师的效果。

以上是本文的全部内容。希望对每个人的学习都有帮助,也希望您能为脚本库提供更多支持。

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/shoujiruanjian/article-326460-1.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/503516.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cups共享linux打印机_linux入门-映射网络驱动器

linux入门-映射网络驱动器在日常中&#xff0c;我们不会时时刻刻远程着linux服务器&#xff0c;那么有没有办法可以让我们在window电脑上映射linux的磁盘呢&#xff1f;这是可以实现的&#xff0c;这里我们就要介绍samba了。sambaSamba是在Linux和UNIX系统上实现SMB协议的一个免…

html如何将设置文本效果,css如何对文本进行修饰

color属性&#xff1a;设置文本文字颜色。用法如下&#xff1a;color&#xff1a;颜色值;color属性可以设置的合法颜色值包括&#xff1a;16进制颜色值(例&#xff1a;#ffffff)&#xff0c;rgb颜色值【例&#xff1a;rgb(0,0,0)】&#xff0c;rgba颜色值【例&#xff1a;rgb(0,…

HTML与cgi post传递与接收,CGI实例--表单GET与POST示例

CGI概述CGI(Common Gateway Interface: 公用网关接口)规定了Web服务器调用其他可执行程序(CGI程 序)的接口协议标准。Web服务器通过调用CGI程序实现和Web浏览器的交互, 也就是CGI程序通过读标准输入&#xff0c;接受Web浏览器发送给Web服务器的信息, 进行处理, 将响应结果再通过…

html鼠标滑轮换图片,JavaScript实现鼠标滚轮控制页面图片切换

鼠标上的滚轮是一个不错的东东&#xff0c;为什么这么说&#xff0c;因为它能帮助我们快速的浏览网页,快速的进行长篇文章的阅读。对于web前端的我们来说又怎么能不注重这个鼠标滚轮呢&#xff0c;那么它能如何让用户更好的浏览网页呢&#xff1f;本文主要介绍JavaScript实现鼠…

电脑视频html5全屏掉帧,Windows 10使用自带的电影和电视全屏看视频时掉帧(画面卡顿)...

Windows 10自带的“电影和电视”应用能应付一些常见的视频格式&#xff0c;还能播放360度全景视频&#xff0c;对部分人来说用它就够了&#xff0c;不需要额外安装其它播放视频的应用。在使用电影和电视全屏播放视频的过程中&#xff0c;部分人可能会出现掉帧情况&#xff0c;画…

微型计算机的alu部件是包含在,微型计算机的ALU部件是什么?

计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算&#xff0c;与、或、非、异或等逻辑操作&#xff0c;以及移位、比较和传送等操作&#xff0c;亦称算术逻辑部件(ALU)。计算机运行时&#xff0c;运算器的操作和操作种类由控制器决定。运…

工具系列:TensorFlow决策森林_(5)使用文本和神经网络特征

文章目录 设置使用原始文本作为特征使用预训练的文本嵌入同时训练决策树和神经网络构建模型训练和评估模型 欢迎来到 TensorFlow决策森林&#xff08; TF-DF&#xff09;的 中级教程。 在本文中&#xff0c;您将学习有关 TF-DF的一些更高级的功能&#xff0c;包括如何处理自…

超级计算机游戏电脑,Salad邀请PC玩家参与全球最大分布式超级计算机的构建

(来自&#xff1a;Salad 官网)据悉&#xff0c;自 2018 年成立以来&#xff0c;Salad 已经在 25 万名 PC 玩家的帮助下&#xff0c;利用闲置的硬件算力、以及开源的桌面应用程序&#xff0c;来帮助验证区块链交易。作为奖励&#xff0c;Salad 用户能够分享计算资源&#xff0c;…

更换锁定计算机图片,电脑锁屏图片怎么设置

电脑锁屏图片怎么设置觉得电脑锁屏的图片单调没有新意&#xff1f;其实大家想知道电脑锁屏图片应该怎么设置吗&#xff1f;下面是小编推荐给大家的电脑锁屏图片怎么设置&#xff0c;希望大家有所收获。同时按下窗口键winR&#xff0c;调出运行对话框&#xff0c;如下图所示运行…

六年级计算机应用计划,2017六年级信息技术下册教学计划

2017六年级信息技术下册教学计划制订教学计划必须按学生的特点制订&#xff0c;不能仿制照搬的计划&#xff0c;只有自己去试着做&#xff0c;摸索出自己的完整方法&#xff0c;才是最有用的。下面应届毕业生考试网小编为大家提供了2017六年级信息技术下册教学计划&#xff0c;…

计算机网络与通信思维导图,用思维导图描述5G场景

随着全球首个5G火车站在上海虹桥火车站启动建设&#xff0c;5G时代离我们越来越近。去年底&#xff0c;工业和信息化部向三大运营商发送了5G系统中低频段试验频率使用许可&#xff0c;5G设备将开始试商用。5G毕竟是新技术&#xff0c;小编今天用思维导图给大家讲解一下5G场景&a…

计算机学院五名学生开发手语app,大学生团队研发成功“聋人自然手语翻译器”APP...

把语音转换成文字&#xff0c;再将文字翻译成手语&#xff0c;在第25个“全国助残日”到来之际&#xff0c;江苏科技大学的一群平均年龄不到22岁的年轻创业者们&#xff0c;研发出了一款“聋人自然手语翻译器”&#xff0c;为普通人与聋哑群体搭建沟通的桥梁。拿起手机&#xf…

电大计算机网考上机操作题,电大计算机上机考试模拟题及答案 (1)

模拟试题模拟试题一:第001题:在Windows中添加”传真服务”.第002题:设置Internet Explorer,对所有官方微软网站不进行安全认证.操作步骤第003题:设置Outlook Express,新邮件.新闻邮件下载5天后即被删除, 当浪费的空间达到40%时压缩邮件&#xff0c;并将存储在C盘DDKS根目录下。…

在职人员计算机网络管理总结,关于学校网络管理员个人工作总结

关于学校网络管理员个人工作总结主要工作职责1.按照规定流程开通校园网用户&#xff0c;做好审核与登记工作。2.接听办公室报修电话&#xff0c;负责校园网网络故障报修用户信息登记。3.凭证参加网络故障现场维护(自网络故障报修日起两个工作日内)。4.统计当天网络故障报修数据…

西安电子科技大学研究生计算机专业王宇平教授学生就业岗位,西安电子科技大学计算机学院导师信息情况...

研究生考试招生以下是所有导师的详细资料姓名 权义宁 杨世勇 刘志镜 冯大政 王宇平 王宇平 马建峰职称 副教授 副教授 教授 教授 教授 教授 教授导师类别 硕士生导师 硕士生导师 博士生导师 博士生导师 博士生导师 硕士生导师 博士生导师电子信箱ynquanhttp://doc.xuehai.netsh…

文件夹 计算机无法使用,电脑文件夹提示被使用无法删除怎么办

相信有朋友碰到过这样的问题&#xff0c;电脑上新建一个临时文件夹在使用完后进行删除&#xff0c;或者卸载某一个程序&#xff0c;在卸载完想手动删除残留的文件夹时&#xff0c;出现了下图所示的提示&#xff1a;这个时候我们一般都会在任务管理器中查找是哪个进程占用了&…

计算机软件著作权特征,计算机软件著作权的法律特征是什么

计算机软件著作权的法律特征是什么一、权利内容的法定性法定性有狭义、广义之分。作为一个法律概念的“权利”&#xff0c;都是由国家的法律所规定的&#xff0c;不存在任何法律规定之外的权利&#xff0c;譬如没有所谓“天赋”的权利。从这个意义上讲&#xff0c;凡法律上的权…

mac笔记本怎么外接显示屏_win to go的安装与Macbook pro外接eGPU开启

更新&#xff1a;wintogo中eGPU的驱动&#xff08;针对15.6 MacBook pro&#xff0c;且只针对于mantiz这款显卡坞&#xff09; 在不插入显卡的情况下&#xff0c;安装 win to go将 Windows 10升级 ⾄预览版 &#xff0c;并完成所有Windows 10 更新&#xff0c;之后禁用windows更…

中职计算机教学工作随笔,教学随笔(精选15篇)

教学随笔(精选15篇)教学是教师的教和学生的学所组成的一种人类特有的人才培养活动。下面和小编一起来看教育教学随笔(精选15篇)&#xff0c;希望有所帮助&#xff01;教学随笔 篇1今天是我的早读&#xff0c;到学校了&#xff0c;小朋友还没有静下来读书。我挥手让小朋友们静下…

计算机公式大小写,excel大写金额公式

excel大写金额公式是【IF(MOD(A2,1)0,TEXT(INT(A2),"[DBNUM2]")&"元"&"整",TEXT(INT(A2),"[DBNUM2]")&"元"&TEXT(MID(A2,LEN(INT(A2))2,1),"[DBNUM2]D角")&TEXT(MID(A2,LEN(INT(A2))3,1),&qu…