您所在的位置: > 主页 > 上海视点 > 资讯 > 正文
教你打造Android系统加速器来源: 日期:2020-06-23 04:25:19  阅读:-

    安卓系统在长时间使用的情况下,会有很多软件隐藏在后台,时刻消耗着你的系统资源与电池电量,所以我们要关闭不必要的进程。这篇文字非常适合 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远程监控技术原理,学习将会继续。

    (正文已结束)

    免责声明及提醒:此文内容为本网所转载企业宣传资讯,该相关信息仅为宣传及传递更多信息之目的,不代表本网站观点,文章真实性请浏览者慎重核实!任何投资加盟均有风险,提醒广大民众投资需谨慎!