相机设置页在主线程同步调用 UVC getSupportedSizeList()。USB 权限或相机服务尚未就绪时,该调用进入等待并超过输入分发 5 秒阈值,造成 SettingActivity ANR。
采用测试先行:
CameraSizeSnapshotTest,验证无实现时编译失败。LatestCameraTaskRunnerTest,验证无实现时编译失败。完整验证:
./gradlew :app:testDebugUnitTest :app:assembleDebug:成功。2048x1536 经一次助手重建后成为实际预览分辨率:成功。11859,SettingActivity 保持前台,无该 PID 的 am_anr 事件,无重复相机重连。仅调整 USB 菜品识别相机的能力查询、分辨率恢复和设置页读取方式;未修改接口协议、业务数据或 Git 历史。