又发帖了。。。
一直想弄个性能的脚本,今天实践了下,很简单,就是用 top 命令获取当前应用的 cpu、mem 信息,最后将结果生成图标,这里生成图标的话,使用了 pychartdir 模块,该模块使用起来还是比较方便的,尤其是帮助文档很全,包含各种 demo,就是使用的是未注册版本,底部有广告。
pychartdir 模块的安装不同于一般模块的安装,稍微有点麻烦,可参考:
http://blog.csdn.net/gb112211/article/details/43272049
#top次数
times = 20
#设备当前运行应用的包名
pkg_name = utils.get_current_package_name()
#获取cpu、mem占用
def top():
cpu = []
mem = []
top_info = utils.shell("top -n %s | %s %s$" %(str(times), utils.find_util, pkg_name)).stdout.readlines()
for info in top_info:
#temp_list = del_space(info)
temp_list = info.split()
cpu.append(temp_list[2])
mem.append(temp_list[6])
return (cpu, mem)
这里处理 top 的信息时,处理空格好麻烦,求指点更好的解决办法!(已解决。哈哈)
我使用的是先分割,然后遍历列表,元素不为 “” 的话就将元素 append 到另一个列表里面,如此就可以获取固定位置的 cpu 及 mem 的值
可以去掉下面的方法了!
#去除top信息中的空格,便于获取cpu、mem的值
def del_space(str):
temp_list1 = str.split(" ")
temp_list2 = []
for str in temp_list1:
if str != "":
temp_list2.append(str)
return temp_list2
下面的是绘制线性图表了,这里就不贴代码,代码放后面的链接中,先贴个生成的图表(android 的相机应用):
最后贴个脚本链接,有兴趣的可以尝试使用下:
https://github.com/gb112211/AndroidTestScripts/blob/master/python/get_cpu_mem_info.py