教你打造Android系统加速器

2020-06-23 09:13:27 来源:互联网 阅读:1863
【摘要】安卓系统在长时间使用的情况下,会有很多软件隐藏在后台,时刻消耗着你的系统资源与电池电量,所以我们要关闭不必要的进程。

安卓系统在长时间使用的情况下,会有很多软件隐藏在后台,时刻消耗着你的系统资源与电池电量,所以我们要关闭不必要的进程。这篇文字非常适合 Andorid开发初学者,出于学习的目的,也为了更好地研究进程保护的机理,我们来打造一款 Android系统加速器,其功能是关闭不必要的软件,关闭没有用的后台服务,同时显示可用内存、总内存以及释放了多少内存。编程分析一个 Android包是一个应用发布,用户能下载并安装,而一个进程是一个底层的代码运行级别的核心进程。通常.apk包里所有代码运行在一个进程里,一个进程对应一个.apk包;然而,进程可以是独立的活动、接收器、服务,或者提供器组件。当某个组件第一次运行的时候,Android就启动了一个进程。默认的,所有的组件和程序运行在这个进程和线程中。

ActivityManager的功能是与系统中所有运行着的 Activity交互提供了接口,主要的接口围绕着运行中的进程信息、任务信息、服务信息等。我们可以用 getRunningAppProcesses()获取进程信息。下面首先需要获取现在正在运行的后台服务,将其放在列表里,核心代码如下。

try

{

list.clear();

am=(ActivityManager)MainActivity.this.getSystemService(ACTIVITY_SERVICE);// 创建

ActivityManager对象

Final List l =am.getRunningAppProcesses();

if(l.size()==0)//若没有正在运行的程序

{

Toast.makeText(MainActivity.this,"目前没有正在运行的程序! ",

Toast.LENGTH_SHORT).show();

return;

}

//在 ListView上依次显示出每个正在运行程序的信息

for(int i=0;i

{

list.add("第"+i+"项:"+l.get(i).processName+",ID="+l.get(i).pid);

}

然后创建好适配器,设置选中菜单监听器,要获取 android MemoryInfo信息,可以使用Debug的函数:

getMemoryInfo(Debug.MemoryInfo memoryInfo)或 ActivityManager的

MemoryInfo[] getProcessMemoryInfo(int[] pids)来实现,单位可以精确到 KB,getAvailMemory()

public void onItemClick(AdapterView arg0, View arg1,final int arg2, long arg3) {

new AlertDialog.Builder(MainActivity.this).setMessage("是否杀死该进程") .setPositiveButton("

确定", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog,int which) {

am.killBackgroundProcesses(l.get(arg2).processName);

edittext01.setText(getAvailMemory().toString());

edittext02.setText(getTotalMemory().toString());

if(mem.equals(getAvailMemory().toString())){

Toast.makeText(MainActivity.this,"

线

",Toast.LENGTH_LONG).show();}else{

String[] str=l.get(arg2).toString().split(":");

int[] myMempid = new int[] { l.get(arg2).pid};

Debug.MemoryInfo[] memoryInfo = am.getProcessMemoryInfo(myMempid);

int memSize = memoryInfo[0].dalvikPrivateDirty;

String ProInfo=",内存:"+memSize+"kb";

Toast.makeText(MainActivity.this,"进程已被杀死 ,释放内存:

"+memSize+"KB",Toast.LENGTH_LONG).show();

mem=getAvailMemory().toString();

}

}

}).setNegativeButton("

",

new

DialogInterface.OnClickListener() {

@Override

public void onClick(

DialogInterface dialog,

int which) {

dialog.cancel() ;

}

}).create().show() ;

功能测试

打开软件界面,所示,我们可以看到总内存以及可用内存

教你打造Android系统加速器

现在我们点击进程列表看看现在运行的进程,获取所有正在运行的后台服务

教你打造Android系统加速器

接下来我们点击要结束的进程,会弹出窗口提示

教你打造Android系统加速器

如果碰到一些被结束掉的进程又马上自动开启的,会有窗口提示

教你打造Android系统加速器

通过测试指定结束相应的进程,可以显示可用内存,后台服务,释放了多少内存,通过结束掉进程可以起到一定的加速作用,小小的 Andorid系统加速器做好了。通过这次编程,学会了一些对系统进程与内存相关的编程操作,由浅入深,为了更好地理解各种应用运行的Android远程监控技术原理,学习将会继续。

推荐阅读:vivo好还是oppo手机好