全部开发者教程

Android 开发者选项

前面的小节我们介绍了应用构建相关的知识,从本小结我们学习应用调试相关的知识,首先我们要学习下开发者选项。

1. 什么是开发者选项

Android 上的“设置”应用包含一个名为开发者选项的界面,我们可以使用该屏幕配置一些系统行为来帮助我们分析和调试应用性能。例如,我们可以启用 USB 调试、捕获错误报告、启用点按的视觉反馈、在窗口 surface 更新时刷写 surface、使用 GPU 渲染 2D 图形,等等。

Tips:开发者选项列表可能会因 Android 版本而异

1.1 启用开发者选项和 USB 调试

在 Android 4.1 及更低版本上,开发者选项界面在默认情况下处于启用状态。在 Android 4.2 及更高版本上,我们必须启用此屏幕。要启用开发者选项,请点按版本号选项 7 次。我们可以在以下位置之一找到此选项,具体取决于我们的 Android 版本:

  • Android 9(API 级别 28)及更高版本:设置 > 关于手机 > 版本号

  • Android 8.0.0(API 级别 26)和 Android 8.1.0(API 级别 26):设置 > 系统 > 关于手机 > 版本号

  • Android 7.1(API 级别 25)及更低版本:设置 > 关于手机 > 版本号

在开发者选项屏幕顶部,我们可以开启或关闭这些选项。调试应用时此设置需要处于开启状态。关闭后,除了那些不需要在设备与开发计算机之间通信的选项外,大部分选项都会被停用。

我们需要先启用 USB 调试,以便 Android Studio 和其他 SDK 工具能够在设备通过 USB 连接时识别设备,然后才能使用调试程序和其他工具。要启用 USB 调试,请在开发者选项菜单中开启 USB 调试选项。我们可以在以下位置之一找到此选项,具体取决于我们的 Android 版本:

  • Android 9(API 级别 28)及更高版本:设置 > 系统 > 高级 > 开发者选项 > USB 调试

  • Android 8.0.0(API 级别 26)和 Android 8.1.0(API 级别 26):设置 > 系统 > 开发者选项 > USB 调试

  • Android 7.1(API 级别 25)及更低版本:设置 > 开发者选项 > USB 调试

2. 常用选项

开发者选项中包含很多有助于应用调试的选项,下面我们学习日常开发中最常用的一些。

2.1 调试

调试选项提供了配置设备端调试以及在设备与开发计算机之间建立通信的方式。

我们可以启用 USB 调试,以便 Android 设备可以通过 Android 调试桥 (adb) 与开发机器通信。等待调试程序选项仅在我们使用选择调试应用选择要调试的应用后才可用。如果我们启用等待调试程序,选定的应用会先等待调试程序连接后才会执行操作。

其他调试选项包括:

  • 在设备上永久存储日志记录器数据:选择要在设备上永久存储的日志消息类型。选项包括“关闭”、“全部”、“所有非无线电”和“仅限内核”。

  • 选择模拟位置信息应用:使用此选项可以模拟设备的 GPS 位置,以测试我们的应用在其他位置时行为是否相同。要使用此选项,请下载并安装 GPS 模拟位置应用。

  • 启用视图属性检查功能:将视图属性信息保存在 View 实例的 mAttributes 成员变量中,以便将这些信息用于调试。我们可以通过 Layout Inspector 界面访问属性信息(如果不启用此选项,“属性”项将不可用)。

  • 启用 GPU 调试层:在运行 Android 9(API 级别 28)及更高版本的设备上可用,启用此选项可允许从本地设备存储加载 Vulkan 验证层。

2.2 网络

网络选项提供了配置 WLAN 和 DHCP 设置的方式。

点按选择 USB 配置可以指定我们希望计算机如何识别设备。 如图 5 所示,我们可以将设备配置为仅限充电、传输文件 (MTP)、传输照片 (PTP)、在 PC 上使用我们的移动互联网 (RNDIS),或者传输音频或 MIDI 文件。

点按蓝牙 AVRCP 版本,然后选择要用来控制我们的设备有权访问的所有蓝牙 A/V 设备的配置文件版本。 此外,要微调设备上的音频播放功能,请点按并设置以下选项:

  • 蓝牙音频编解码器:选择某个编解码器来调整设备的音质。

  • 蓝牙音频采样范围:通过选择音频编解码器采样率来调整每秒音频样本数量。采样率越高,使用的资源越多。

  • 蓝牙音频每样本位数:设置每个音频样本中信息的位数。比特率越高,音质越好,但样本文件越大。

  • 蓝牙音频声道模式:选择单声道或立体声。

  • 蓝牙音频 LDAC 编解码器:优化声音以提高音质,平衡音频和连接质量,提高连接质量,或者使用自适应比特率平衡音频和连接质量。

以下列表介绍了配置 WLAN 和 DHCP 设置的其他方式:

  • 无线显示认证:启用高级配置控件和设置,按照“WLAN 联盟 WLAN 显示规范”中明确规定的规范进行无线显示认证。此认证适用于 Android 4.4(API 级别 19)及更高版本。

  • 启用 WLAN 详细日志记录功能:根据我们连接到的每个无线网络 (SSID) 的相对接收信号强度 (RSSI) 提高其 WLAN 日志记录水平。

  • 主动从 WLAN 网络切换到移动数据网络:当信号较弱时,让 WLAN 更高效地将数据连接移交给移动数据网络。

2.3 输入

启用显示点按操作反馈可以在我们轻触屏幕时显示点按操作反馈。手指或触控笔下会出现一个圆圈,这个圆圈会跟着我们在屏幕上移动。当我们在设备上录制视频时,点按的作用就像指针一样。

启用指针位置可以用十字准线在设备上显示指针(点按)位置。 屏幕顶部会显示一个条形,用于跟踪十字准线坐标。在我们移动指针时,该条形中的坐标会跟踪十字准线位置,且屏幕上会绘制出指针路径。

2.4 绘制

绘制选项提供了有关应用界面及其操作方式的视觉提示。

启用显示布局边界可以显示应用的裁剪边界、外边距和设备上的其他界面结构。

其他绘制选项包括:

  • 强制使用从右到左的布局方向:强制屏幕布局方向为从右到左 (RTL) 或从左到右(默认设置)。

  • 窗口动画缩放:设置窗口动画播放速度,以便我们查看不同速度下的性能。缩放越小,速度越快。

  • 过渡动画缩放:设置过渡动画播放速度,以便我们查看不同速度下的性能。缩放越小,速度越快。

  • 模拟辅助显示屏:以叠加层的形式在设备上创建辅助屏幕。 这在使用 Presentation API 支持其他屏幕时非常有用。

2.5 硬件加速渲染

借助硬件加速渲染选项,我们可以利用基于硬件的选项(如 GPU、硬件层和多重采样抗锯齿 (MSAA))针对目标硬件平台优化应用。

点按模拟颜色空间可以更改整个设备界面的配色方案。此设置下面的选项是指色盲类型。包括“已停用”(无模拟配色方案)、“全色盲”(黑色、白色和灰色)、“绿色弱视”(红绿不分)、“红色弱视”(红绿不分)和“蓝色弱视”(蓝黄不分)。 其中“红色弱视”是指红绿色盲,红色弱视;“绿色弱视”是指红绿色盲,绿色弱视。

利用基于硬件的选项的一些其他方式包括:

  • 设置 GPU 渲染程序:将默认的 Open GL 图形引擎更改为 Open GL Skia 图形引擎。

  • 强制进行 GPU 渲染:如果应用编写时在默认情况下不进行 GPU 渲染,强制应用使用 GPU 绘制 2D 图形。

  • 显示 GPU 视图更新:显示使用 GPU 绘制的任何屏幕上的元素。

  • 调试 GPU 过度绘制:显示设备上的颜色编码,以便我们可视化相同像素在同一帧中绘制的次数。可视化会显示我们的应用可能在哪里进行了不必要的渲染。

  • 调试非矩形剪裁操作:关闭画布上的剪裁区域,创建非常规(非矩形)画布区域。通常,剪裁区域不允许在圆形剪裁区域的边界之外绘制任何图形。

  • 强制启用 4x MSAA:在 Open GL ES 2.0 应用中启用多重采样抗锯齿 (MSAA)。

  • 停用 HW 叠加层:通过使用硬件叠加层,在屏幕上显示内容的每个应用将消耗更少的处理资源。如果不使用叠加层,应用会共享视频内存且必须不断地检查冲突和剪裁区域才能渲染合适的图像。检查工作会消耗大量的处理资源。

2.6 媒体

启用关闭 USB 音频转接可以停用自动路由到通过 USB 端口连接到计算机的外部音频设备。 自动路由可能会干扰 USB 感知应用。

2.7 监控

监控选项提供了有关应用性能(如长时间的线程和 GPU 操作)的视觉信息。

依次点按 GPU 渲染模式分析在屏幕上显示为竖条,以竖条形式显示 GPU 渲染模式分析。

2.8 应用

应用选项可以帮助我们了解应用在目标设备上的运行方式。

点按后台进程限制可以设置后台一次能够运行的进程数量。

在测试过程中点按重置 ShortcutManager 速率限制,使后台应用可以继续调用快捷键 API,直到再次达到速率限制。

启用不保留 Activity 可以在用户离开 Activity 的主视图后立即销毁该 Activity,从而延长电池续航时间。

3. 小结

本节课程我们主要学习了开发者选项。本节课程的重点如下:

  • 掌握如何启用开发者选项和 USB 调试;
  • 掌握开发者选项中常用选项的含义。