一、快速安装(Fast Deployment)
适用场景:
- 频繁修改代码后的快速验证
- 避免完整构建的长时间等待
- 仅修改资源文件或DEX时的快速更新
使用方式(Android为例):
-
启用快速安装:
bash复制adb install --fastdeploy -t your_app.apk
-
增量更新(修改后):
bash复制adb install --incremental -t your_app.apk
-
Gradle集成(Android Studio):
groovy复制android { defaultConfig { // 启用快速安装支持 experimentalProperties["android.experimental.quickInstall.enable"] = true } }
技术原理:
- 仅推送修改的DEX/资源文件
- 使用adb apply patches机制
- 保持应用数据不丢失
二、App Trace使用指南
1. 功能概述:
- 方法级执行追踪
- 系统调用监控
- 性能热点分析
2. 启用方式:
bash复制# 启动追踪(Android)
adb shell am profile start <process> /data/local/tmp/trace.trace
# 停止收集
adb shell am profile stop <process>
3. 高级配置:
java复制// 代码中插入追踪点
Debug.startMethodTracing("custom_trace");
// ...
Debug.stopMethodTracing();
4. 分析工具:
-
Perfetto:完整的系统追踪
bash复制python3 record_android_trace.py -o trace.html -t atrace -
Android Studio Profiler:实时可视化
-
systrace(传统工具):
bash复制python systrace.py -o mytrace.html -a com.example.app
三、最佳实践组合
-
开发调试流程:
- 使用快速安装部署修改
- 通过App Trace定位性能问题
- 修改后再次快速验证
-
性能优化场景:
bash复制# 组合命令示例 adb install --fastdeploy app.apk &&
adb shell am start-activity -W -n com.example/.MainActivity &&
adb shell am profile start com.example /sdcard/launch.trace -
CI/CD集成:
yaml复制# 示例GitLab CI配置 performance_test: script: - adb install --fastdeploy app.apk - adb shell monkey -p com.example -v 500 - adb shell am dumpheap com.example /sdcard/heap.hprof
四、注意事项
-
版本兼容性:
- 快速安装需要Android 8.0+
- App Trace在Android 11+有完整功能
-
数据准确性:
- 追踪会带来5%-15%性能开销
- 生产环境慎用
-
常见问题处理:
bash复制# 当快速安装失败时 adb uninstall com.example && adb install full.apk
建议结合Android Studio 2023.3+版本使用,其内置的"Apply Changes"功能已经整合了快速安装机制,并提供增强版的Profiler工具支持App Trace可视化分析。对于NDK开发,还需配合simpleperf进行native层追踪。