安卓手机进程清理

Posted likehc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓手机进程清理相关的知识,希望对你有一定的参考价值。

一个个在手机 设置\\程序管理  一个个 结束进程好麻烦,也不想因为这个再去安装 app管理软件,不如写个脚本 一键清理

此 脚本要 手机Root(主要是把文件放入\\system\\bin 下,并设置为可执行,不root无法使用chomd命令)

Adb 调试工具,网上一大堆,可自行下载

 

说思路

  1. 获取进程的包名(因为包名比PPID 更能让人看的懂)
  2. 生成个含有要结束进程的文件
  3. 把所有要结束的进程写入脚本,放入手机并设置可运行
  4. 手机直接执行脚本

 

 

 

好,动手环节

先用 命令adb shell ps >c:\\app.txt 获取进程及包名,并写入 C盘的 app.txt 文本内.

 

 

 

 

各字段的含义:

 

USER 进程当前用户

PID 进程ID

PPID 父进程ID

VSIZE 进程的虚拟内存大小,以KB为单位

RSS 实际占用的内存大小,以KB为单位

WCHAN 进程正在睡眠的内核函数名称;

PC Program Counter

NAME 进程状态及名称

 

可以用命令 adb shell am force-stop 包名 来结束进程 ,如 酷我音乐盒 。就是

adb shell am force-stop cn.kuwo.player

 

 

从 app.txt 分离出包名,这里我用的 是python 的脚本,获取com.xxx.xxx与cn.xxx.xxx 开头的包名(国内多数的安卓程序多用这两个)

 

Python 的代码如下 arry.py

 1 #coding=utf-8
 2 import os
 3 import math
 4 
 5 prefix ="echo -e am force-stop "
 6 perfixEndFirst =" >/system/bin/d"
 7 perfixEnd =" >>/system/bin/d"
 8 resultArr =[]
 9 resultStr=""
10 
11 f=open(\'app.txt\', \'r\')
12 s=f.readlines()
13 #count = len(s)
14 
15 for t in range(1,len(s)):
16     str = s[t-0]
17     if str != None and  "000 S " in str:
18         strSName = str.split("000 S ")    
19         if strSName[1] != None:
20             strName = strSName[1].replace(" S ","")
21             if strName.startswith("com.") or strName.startswith("cn."):
22                 #插入数组
23                 resultArr.insert(0,strName.strip(\'\\n\'))
24                 print(strName)
25 
26 
27 #resultStr = resultStr + "echo " + "#!/system/bin/sh" + perfixEndFirst +"\\n" 
28 for r in resultArr:
29     resultStr = resultStr + prefix + r+ perfixEnd+"\\n" 
30 
31 resultStr = resultStr + \'echo -e "echo Success!" >>/system/bin/d\' 
32 with open("d.sh","w") as f:
33     f.write(resultStr)
34 
35 os.system(\'pause\')
View Code

 

 

 

在其目录下 生成一个 叫”d.sh”的文件,(d就是delete的首字母)

 

我们可以用记事本打开 在d.sh 文件,其结果如 下

 

 

这里,我是用 echo 将字符串写入手机的 /system/bin/d 文件内,而不是 将文件push到  手机上,不知道为什么产生了乱码与不能换行(不方便阅读与维护)

 

可以将 s.sh 全部复制到黏贴板,打开一个adb 的调试窗口并提权到root,然后黏贴

 

 

 

 

然后 设置文件d 为可执行 chmod 777 /system/bin/d

 

 

 

然后,就可以在 普通用户下,调用该脚本了,

运行结束会的 Success! 提示

 

 

 

 

在手机上用 “终端模拟器”,调用时要su 一下,不提权会出错,个人现在还没有弄明白为什么

 

 

 

清除后台,一身轻松。。

 

如果后期加入别的 包名中微博,可以在 写入

echo -e am force-stop com.sina.weibo >>/system/bin/d  即可。

以上是关于安卓手机进程清理的主要内容,如果未能解决你的问题,请参考以下文章

安卓手机下载软件总是提示内存不足,怎么办?

怎样设置安卓手机时间

安卓手机怎样释放内存?

国产安卓手机推送问题

如何释放手机内存 清理释放安卓手机内存空间方法

「白问」安卓手机清理垃圾的原理 你知道吗?