# 安卓
# 获取内存信息
给定进程的 PID,返回总内存、本地堆内存、dalvik 堆内存 并转换为 MB 单位
def getAndroidMem(self): | |
"""Get the Android memory ,unit:MB""" | |
cmd = f'dumpsys meminfo {self.pid}' | |
output = adb.shell(cmd=cmd, deviceId=self.deviceId) | |
m_total = re.search(r'TOTAL\s*(\d+)', output) | |
m_native = re.search(r'Native Heap\s*(\d+)', output) | |
m_dalvik = re.search(r'Dalvik Heap\s*(\d+)', output) | |
totalPass = round(float(float(m_total.group(1))) / 1024, 2) | |
nativePass = round(float(float(m_native.group(1))) / 1024, 2) | |
dalvikPass = round(float(float(m_dalvik.group(1))) / 1024, 2) | |
return totalPass, nativePass, dalvikPass |
# IOS
同样通过 instruments 协议获取;不过只能获取到总内存
def getiOSMem(self): | |
"""Get the iOS memory""" | |
apm = iosAPM(self.pkgName) | |
totalPass = round(float(apm.getPerformance(apm.memory)), 2) | |
nativePass = 0 | |
dalvikPass = 0 | |
return totalPass, nativePass, dalvikPass |