Android真机上运行Instrumentation Tests耗时过长问题求助
Android真机上运行Instrumentation Tests耗时过长问题求助
Hey Allen, 碰到真机跑Instrumentation测试慢得离谱、虚拟机却飞快的情况确实挺闹心的,我来分享几个自己踩坑后总结的排查和优化方向,你可以逐一试试:
检查真机的调试状态与资源占用
- 先确认开发者选项里的USB调试已经开启,同时打开“充电时保持唤醒状态”或者类似选项,避免测试过程中设备休眠导致ADB断连重连拖慢进度。
- 手动关掉设备后台所有无关应用,尤其是那些吃CPU、内存的大型APP(比如手游、视频软件),给测试进程留出足够的系统资源。
优化测试项目的配置
- 如果不需要测试覆盖率,可以在模块的
build.gradle里把testCoverageEnabled设为false,这个配置会额外生成覆盖率报告,非常耗时。 - 试试把大型的测试用例拆分成多个小测试类,单次运行的测试用例太多会让设备资源吃紧,拆分后能分散压力。
- 检查是否有测试用例里包含不必要的IO操作(比如频繁读写本地文件),这类操作在真机上的耗时通常比虚拟机高很多,尽量优化或者Mock掉。
- 如果不需要测试覆盖率,可以在模块的
排查ADB连接的稳定性
- 换一根质量靠谱的USB线!很多廉价线传输不稳定,会导致测试指令来回卡顿,我之前就因为一根破线折腾了半天。
- 重启ADB服务试试:在终端执行
adb kill-server,然后adb start-server,有时候ADB的连接异常会隐性拖慢测试速度。 - 可以尝试无线ADB连接:先通过USB连上设备,执行
adb tcpip 5555,拔掉USB后再用adb connect 你的设备IP:5555,有些情况下无线连接反而比不稳定的USB更顺畅。
调整设备系统的动画与性能设置
- 进入开发者选项,把窗口动画缩放、过渡动画缩放、动画程序时长缩放都设为
0.5x或者直接关闭,减少UI渲染的额外开销,能明显提升测试过程中的页面跳转速度。 - 确保你的真机系统是最新的稳定版本,旧系统版本可能存在调试相关的性能bug,更新后说不定就能解决问题。
- 进入开发者选项,把窗口动画缩放、过渡动画缩放、动画程序时长缩放都设为
备注:内容来源于stack exchange,提问作者Allen J Mathew
相关产品推荐
相关产品推荐

