又发帖了。。。

一直想弄个性能的脚本,今天实践了下,很简单,就是用 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


↙↙↙阅读原文可查看相关链接,并与作者交流