每个安卓设备的虚拟心理输出格式是完全相同的吗?例如,在应用程序中读取转储服务的输出并执行精确的字符串匹配以解析返回的数据是否安全?
发布于 2012-12-04 13:18:21
不要期望格式100%相同。不同的Android版本之间略有不同。此外,一些服务依赖于使用的特定硬件组件(无线电/芯片组/外围设备/传感器等)-因此实际的服务代码可能来自不同的OEM,而不是来自Google。
但是对于你的应用程序来说,98%可能就足够了。
发布于 2013-04-05 04:12:28
不,据我所知,你应该总是从运行相同操作系统的相同设备上获得相同的输出。
根据我的经验,没有太多的输出格式。在我编写monkeyrunner测试的几十个设备上,我只经历过2次。我使用了一个简单的try,除了涵盖阅读我遇到的两种格式。如果它们都失败了,那么我会打印一个错误并停止我的脚本。
memList = memFull.split()
try:
dalvikIndex = memList.index('dalvik')
heapSize = memList [dalvikIndex + 5]
memAllocated = memList [dalvikIndex + 10]
memFree = memList [dalvikIndex + 15]
except ValueError:
try:
dalvikIndex = memList.index('Dalvik')
heapSize = memList [dalvikIndex + 4]
memAllocated = memList [dalvikIndex + 5]
memFree = memList [dalvikIndex + 6]
except ValueError:
print 'Unsupported output format detected. MemoryMonitor script will need to be updated to support this format'
breakhttps://stackoverflow.com/questions/13685658
复制相似问题