通过循环执行adb的查看内存命令来进行内存比较,分析内存是否泄漏:
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 True: 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)
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)