Android性能测试-分析工具

简介

这里我们说的性能测试主要是应用的CPU和内存占有率,如果CPU和内存占用率过高,就会导致内存泄漏,导致应用发生崩溃,影响用户的体验

测试方法

首先,我们说下性能测试的方法,

1.通过手动点击,不断跳转到一个界面 

2.使用Monkey来进行稳定性测试

工具使用

1.通过手动点击,不断跳转到一个界面。

  监控工具:android studio 的 Profile

限制: 必须要有源码

操作步骤如下:

1.点击profile,安装应用到测试机上

2. 点击record开始记录

 

 3.查看图形,如果在某一个界面出现异常升高,此时停止record.(profile可以分析MEMORY, CPU, NETWORK)

 4. 通过目录查找到你的应用的类

 5. 通过分析Allocatinos,如果某一个类的数值过大,就是因为该内存没有及时得到释放,就在该类上找原因(一般是Activity)

 

2.使用Monkey来进行稳定性测试

分析工具:自己写python代码,通过循环查看CPU 和内存来进行分析。

内存:

def get_total_pss():

    if os.path.exists('total.txt'):
        with open('total.txt','r+') as f2:
            res = f2.readlines()
            print(res)
            f2.seek(0)
            f2.truncate()
    with open('total.txt', 'at') as f1:
        f1.write('TOTAL:\n')
    package = "com.wangpos.by.cashier3"
    cmd = "adb shell dumpsys meminfo {}".format(package)
    total = "TOTAL"
    while is_execute:
        lines = os.popen(cmd).readlines()
        for line in lines:
            if total in line:
                # print(type(line))
                total_result = [i for i in re.split(' ',line) if i !='']
                print(total_result)
                with open('total.txt','at') as f:
                    f.write(total_result[1]+'\n')
                    sleep(5)
                return total_result[1]

输出,写入文件:

 

CPU:

def get_cpu():
    package = "com.wangpos.by.cashier3"
    cmd = "adb shell top -m 10 -n 1 -s cpu"

    while True:
        lines = os.popen(cmd).readlines()
        print(lines)
        for line in lines:
            if package in line:
                result = [i for i in re.split(' ',line) if i !='']
                with open('cpu.txt', 'at') as f:
                    f.write(result[2])
                    print(float(result[2].strip('%')))
                    sleep(5)
                return float(result[2].strip('%'))

输出,写入文件:

 

posted @ 2019-07-05 18:29  山重水复疑无路  阅读(2008)  评论(0编辑  收藏  举报