# 安卓
# 获取内存信息
给定进程的 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 | 
