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('%'))

輸出,寫入文件:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM