The Android Developer Challenge is back! Submit your idea before December 2.

配置设备上的开发者选项

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

启用开发者选项和调试功能

图 1. 开发者选项

在 Android 4.1 及更低版本上,开发者选项屏幕在默认情况下处于启用状态。在 Android 4.2 及更高版本上,您必须按照以下方式启用此屏幕:

  1. 打开设置应用。
  2. (仅适用于 Android 8.0 或更高版本)选择系统
  3. 滚动到底部,然后选择关于手机
  4. 滚动到底部,然后点按版本号 7 次。
  5. 返回上一屏幕,在底部附近可以找到开发者选项

开发者选项屏幕顶部,您可以开启或关闭这些选项(图 1)。您可能希望此设置处于开启状态。关闭后,大多数选项都会停用,但不需要在设备与开发计算机之间通信的选项除外。

接下来,您应向下滚动一点,然后启用 USB 调试。此选项让 Android Studio 和其他 SDK 工具能够在设备通过 USB 连接时识别出设备,以便您使用调试程序和其他工具。

本页的其余部分介绍了此屏幕上提供的一些其他选项。

常规选项

在 Android 8.0 及更高版本上,您可以点按快捷设置开发者图块,将选定的开发者选项添加到“快捷设置”面板上。选择一个或多个可用图块(图 2)后,打开“快捷设置”面板,并点按铅笔图标以进入修改模式。然后,将开发者图块从图块窗格拖动到“快捷设置”面板上,并再次点按铅笔图标以退出修改模式。

图 2. 添加到“快捷设置”面板

其他常规选项包括:

  • 内存:(在 Android 8.0 及更高版本上)显示内存统计信息,如平均内存使用率、内存性能、可用总内存、已使用的平均内存、可用内存量以及应用占用的内存量。
  • 生成错误报告:获取当前设备日志文件的副本以与某人共享。当您获得错误报告已准备就绪的通知时,点按此通知即可共享。
  • 系统界面演示模式:显示不含通知或电池电量过低警告的通用预设通知栏,更轻松地截取整洁的屏幕截图。 通过启用演示模式,您可以使用 adb 演示模式命令更改状态栏的外观。或者,您也可以使用显示演示模式隐藏通知和显示预设状态栏。
  • 桌面备份密码:设置备份密码,以便您可以使用 adb 命令备份和恢复受密码保护的设备应用与数据。
  • 不锁定屏幕:将屏幕设为在每次插入电源时保持唤醒状态。
  • 启用蓝牙主机控制器接口 (HCI) 信息收集日志:捕获存储在 /sdcard/btsnoop_hci.log 路径下的文件中的所有蓝牙 HCI 数据包。您可以检索这些数据包,然后使用诸如 Wireshark 之类的程序分析信息和排查问题。

调试

图 3. 已启用调试选项

调试选项使你能够配置设备上调试以及在设备与开发计算机之间建立通信。

您可以启用 USB 调试(图 3),以便 Android 设备可以通过 Android 调试桥 (adb) 与开发计算机通信。只有使用选择调试应用来选择要调试的应用后,等待调试程序选项才可用。如果您启用等待调试程序,选定的应用会先等待调试程序连接后才会执行操作。

其他调试选项包括:

  • 在设备上永久存储日志记录器数据:选择要在设备上永久存储的日志消息类型。选项包括“关闭”、“全部”、“所有非无线电”和“仅限内核”。
  • 选择模拟位置信息应用:使用此选项可以模拟设备的 GPS 位置,以测试您的应用在其他位置时行为是否相同。要使用此选项,请下载并安装 GPS 模拟位置应用。
  • 图 4. 视图属性

  • 启用视图属性检查功能:将视图属性信息保存在 View 实例的 mAttributes 成员变量中,以便将这些信息用于调试。如图 4 所示,您可以通过 Layout Inspector 界面访问属性信息(如果不启用此选项,“属性”项将不可用)。
  • 启用 GPU 调试层:在运行 Android 9(API 级别 28)及更高版本的设备上可用,启用此选项可允许从本地设备存储加载 Vulkan 验证层。要了解详情,请阅读 Android 上的 Vulkan 验证层

网络

图 5. 选择 USB 配置

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

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

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

  • 蓝牙音频编解码器:选择以下某个编解码器来调整设备的音质(编解码器):
    • SBC:将数据传输到蓝牙音频输出设备,如头戴式耳机和音响设备。
    • AAC:在比特率相似的情况下,有线设备比 MP3 的音质更好。
    • aptX:使用优质智能手机、音响设备、条形音箱、头戴式耳机和平板电脑提供纯正的无线声音。
    • aptX HD:为蓝牙设备提供高分辨率流式传输。
    • LDAC:通过无线连接提供优质的音乐聆听服务。
    • 启用可选编解码器停用可选编解码器:如果您已经安装了其他编解码器实现,可以使用这两个选项启用和停用这些实现。
  • 蓝牙音频采样范围:通过选择音频编解码器采样率来调整每秒音频样本数量。采样率越高,使用的资源越多。
  • 蓝牙音频每样本位数:设置每个音频样本中信息的位数。比特率越高,音质越好,但样本文件越大。
  • 蓝牙音频声道模式:选择单声道或立体声。
  • 蓝牙音频 LDAC 编解码器:优化声音以提高音质,平衡音频和连接质量,提高连接质量,或者使用自适应比特率平衡音频和连接质量。

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

  • 无线显示认证:启用高级配置控件和设置,按照 WLAN 联盟 WLAN 显示规范中明确规定的规范进行无线显示认证。此认证适用于 Android 4.4(API 级别 19)及更高版本。
  • 启用 WLAN 详细日志记录功能:根据您连接到的每个无线网络 (SSID) 的相对接收信号强度 (RSSI) 提高其 WLAN 日志记录水平。如需详细了解日志,请参阅使用 Logcat 写入和查看日志
  • 主动从 WLAN 网络切换到移动数据网络:当信号较弱时,让 WLAN 更高效地将数据连接移交给移动数据网络。

输入

图 6. 指针位置

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

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

绘图

图 7. 界面结构

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

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

其他绘图选项包括:

  • 强制使用从右到左的布局方向:强制屏幕布局方向为从右到左 (RTL) 或从左到右(默认设置)。
  • 窗口动画缩放:设置窗口动画播放速度,以便您查看不同速度下的性能。缩放越小,速度越快。
  • 过渡动画缩放:设置过渡动画播放速度,以便您查看不同速度下的性能。缩放越小,速度越快。
  • 模拟辅助显示屏:以叠加层的形式在设备上创建辅助显示屏。这在使用 Presentation API 支持其他显示屏时非常有用。请参阅辅助显示屏

硬件加速渲染

图 8. 绿色弱视颜色空间

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

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

如果您在模拟颜色空间中截取屏幕截图,它们会正常显示,如同没有更改配色方案。

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

  • 设置 GPU 渲染程序:将默认的 Open GL 图形引擎更改为 Open GL Skia 图形引擎。
  • 强制进行 GPU 渲染:如果应用编写时在默认情况下不进行 GPU 渲染,强制应用使用 GPU 绘制 2D 图形。
  • 显示 GPU 视图更新:显示使用 GPU 绘制的任何屏幕上的元素。
  • 调试 GPU 过度绘制:显示设备上的颜色编码,以便您可视化相同像素在同一帧中绘制的次数。可视化会显示您的应用可能在哪里进行了不必要的渲染。如需了解详情,请参阅可视化 GPU 过度绘制情况
  • 调试非矩形剪裁操作:关闭画布上的剪裁区域,创建非常规(非矩形)画布区域。通常,剪裁区域不允许在圆形剪裁区域的边界之外绘制任何图形。
  • 强制启用 4x MSAA:在 Open GL ES 2.0 应用中启用多重采样抗锯齿 (MSAA)。
  • 停用 HW 叠加层:通过使用硬件叠加层,在屏幕上显示内容的每个应用将消耗更少的处理资源。如果不使用叠加层,应用会共享视频内存且必须不断地检查冲突和剪裁区域才能渲染合适的图像。检查工作会消耗大量的处理资源。

媒体

图 9. 竖条表示形式

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

监控

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

依次点按 GPU 渲染模式分析在屏幕上显示为竖条,以竖条形式显示 GPU 渲染模式分析(图 9)。如需了解详情,请参阅 GPU 渲染模式分析

应用

图 10. 设置后台进程限制

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

点按后台进程限制可以设置后台一次能够运行的进程数量。图 10 中显示了可能的设置。

在测试过程中点按重置 ShortcutManager 速率限制,使后台应用可以继续调用快捷键 API,直到再次达到速率限制。如需详细了解快捷键和速率限制,请参阅 ShortcutManager

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