《Android群英传:神兵利器》个人读书笔记,仅做学习记录之用
第五章:深藏功与名的开发者工具
5.1 AAPT
5.1.1 AAPT 初探
- AAPT——Android Asset Packaging Tool。在 Android SDK 的 build-tools 中可以找到
- 它可以查看、创建,修改压缩文件(zip包、jar包、APK文件),以及将资源编译成二进制文件。
5.1.2 AAPT 基本使用方法
5.1.3 查看 AAPT 命令格式
5.1.4 AAPT 源码
5.2 Lint
- 使用 gradle lint 指令可以执行 Lint Task,生成的检测报告在 module 的 /build/outputs 目录中可以查看
5.3 ADB 命令
- ADB 工具位于 SDK 目录中的 platform-tools 目录下。
5.3.1 Help 指令
5.3.2 无线调试
5.3.3 截图与录屏
5.3.4 帧率分析
- Draw 绘制的时间
- Process 布局渲染、计算的时间
- Execute CPU 等待 GPU 处理的时间
三个数据加起来总时间小于 16ms 才代表完整、流畅的一帧
5.3.5 dumpsys
5.3.6 Logcat
5.3.7 Bugreport
5.4 Android Device Monitor
- 这是一个非常好用的工具,但是到 Android Studio 3.0 之后该工具在 AS 中被削了。原先在窗后的 Tools 下可以快速打开这个功能。但目前想要使用这个工具,只能在 SDK 目录中的 tools 目录下,找到 monitor.bat 双加打开,才能使用。
5.5 9path
- 交给美工小姐姐就好了嘛,原谅我的懒惰
5.6 Hierarchy Viewer
- 检测 UI 性能的重要工具
5.6.1 在真机上使用 Hierarchy Viewer
- 添加依赖的方式使用 ViewServer 然后在主项目的启动 Activity 中添加对应的代码配置即可
// 在onCreate、onDestroy、onResume中分别添加
ViewServer.get(this).addWindow(this);
- 还需要在 Manifest 文件中申明 Internet 权限
5.6.2 使用 Hierarchy Viewer 分析页面
5.7 UI Automator Viewer
- 用来找 UI 控件那是相当的方便啊,力荐
5.8 DDMLib
5.8.1 其他 SDK 工具
- aidl——用于生成进程间调用代码
- dx 工具——用于编译成虚拟机的执行文件
- keytool 与 jarsigner工具——用于设置签名
- zipalign工具——用于在打包时进行资源对齐
等等
5.9 开发者选项
5.9.1 Process Stats
- 查看手机后台应用进程
5.9.2 Show Touches && pointer Location
- 显示点按操作反馈以及指针位置
5.9.3 Show Layout Bounds
- 查看 View 的布局边界
5.9.4 Animation Scale
- 动画控制
5.9.5 Simulate Secondary Displays
- 在当前设备上模拟其他分辨率的显示效果
5.9.6 Debug GPU Overdraw
- 分析 UI 性能
- 原色:没有过度绘制
- 蓝色:一次过度绘制
- 绿色:两次过度绘制
- 粉色:三次过度绘制
- 红色:四次及以上过度绘制
5.9.7 Show GPU Usage
- CPU 实时监测工具
5.9.8 Profile GPU Rending
- 检测 UI 绘制性能
- 中间绿线代表界面绘制流畅所必须的 16mm 基线
5.9.9 Strick Mode
- 检测主线程中的耗时操作