Android 上的并发功耗和性能分析





0/5 (0投票)
借助 Intel® VTune™ Amplifier 2016 Update 1 中提供的一些新功能,现在可以相对容易地在未插电的 Android 设备上同时捕获功耗和性能数据。
英特尔® 开发者专区提供跨平台应用程序开发工具和操作指南,平台和技术信息,代码示例以及同行专业知识,以帮助开发人员进行创新并取得成功。加入我们的社区,了解Android,物联网,Intel® RealSense™ 技术和Windows,下载工具,访问开发套件,与志同道合的开发人员分享想法,并参加黑客马拉松,竞赛,路演和本地活动。
使用 Intel® VTune™ Amplifier 和 Intel® SoC Watch 在 Android 上进行并发功耗和性能分析。
借助 Intel® VTune™ Amplifier 2016 Update 1 中提供的一些新功能,现在可以相对容易地在未插电的 Android 设备上同时捕获功耗和性能数据。
注意:尽管可以使用“通过WiFi进行ADB”连接,从而跳过使用“分析未插电的设备”选项的需求,但通常认为使用USB电缆连接到目标设备更容易,这使得它成为一个相对容易的解决方案。 如果您希望使用“通过WiFi进行ADB”,则有关设置的说明包含在您的Intel® VTune™ Amplifier产品文档中。
步骤1:准备性能分析
使用GUI时,只需在项目属性的“分析目标”选项卡下的“高级选项”中选择“分析未插电的设备”选项即可。建议同时选择“自动停止收集(秒):”并指定收集时间,这样可以简单地为功耗分析收集指定相同的时间长度。
然后选择您的分析类型并像往常一样运行分析。 继续并像往常一样选择所有选项,但在选择“开始”之前暂停一下,以便准备好功耗分析收集器并发运行。
步骤2:准备功耗分析
使用独立的命令行ADB shell进入设备,并准备收集功耗分析数据。 如果您不熟悉这些步骤,请访问此处。
在启动实际的收集器之前,请确保您的命令行使用“nohup”并在后台“&”选项中运行。 然后在实际按下Enter键执行之前暂停一下,我们将同步两个收集器以并发运行。 这是来自版本1.5.4的Intel SoC Watch收集命令行的示例。 如果使用 Intel SoC Watch 2.0 或更新版本(例如2.1.1),请不要忘记使用“-r vtune”,以便进行适当的后处理以导入到 Intel® VTune™ Amplifier 中。
nohup ./socwatch -m -f sys -f wakelock -t 35 -o ./results/concurr_test &
注意:命令末尾的 & 是一个标准的 linux/unix 选项,用于将命令作为后台任务运行。 开头的“nohup”告诉系统不要将后台任务与现有终端绑定,换句话说,一旦终端关闭(当您移除电缆时 adb 连接丢失),继续让命令运行而不是终止。
步骤3:同步收集器启动时间
此时返回到 Intel® VTune™ Amplifier 窗口并选择“开始”。 设备上会闪烁通常的消息集,然后是一些与在“未插电”模式下运行相关的新消息,最终您会收到消息“请拔下设备。 收集将自动开始。”
此时返回到 Intel SoC Watch 收集终端并按 Enter 键,然后断开设备上的 USB 电缆。
像往常一样运行您感兴趣的工作负载。 注意:在未连接电缆的情况下,Amplifier 不会在收集时间完成后自动停止应用程序,一旦您确定收集周期已完成,请重新连接电缆。
步骤4:查看结果
收集停止并重新连接电缆后,性能数据将被提取并自动完成,就像在持续连接的设备上运行一样。
在结果已完成并在 Intel® VTune™ Amplifier 中显示后,返回到 Intel SoC Watch 终端并将 Intel SoC Watch 结果提取出来。 然后可以像往常一样将它们导入到 Intel® VTune™ Amplifier 中。