• 配置设备上开发者选项
    • 启用开发者选项和调试
    • 一般选项
    • 调试
    • 网络
    • 输入
    • 绘图
    • 硬件加速渲染
    • 媒体
    • 监控
    • 应用

    配置设备上开发者选项

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

    :不同 Android 版本的开发者选项列表有所不同。

    启用开发者选项和调试

    Configure developer options - 图1
    图 1. 开发者选项

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

    • 打开 Settings 应用。
    • (仅在 Android 8.0 或更高版本上)选择 System
    • 滚动到底部,然后选择 About phone
    • 滚动到底部,点按 Build number 7 次。
    • 返回上一屏幕,在底部附近可找到 Developer options
      Developer options 屏幕顶部,您可以打开或关闭这些选项(图 1)。您可能希望保持此设置处于打开状态。关闭时,除了不需要设备与开发计算机之间通信的选项,其他选项均会停用。

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

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

    一般选项

    在 Android 8.0 及更高版本上,您可以点按 Quick settings developer tiles,将选定的开发者选项添加到您的 Quick Settings 面板中。选择一个或多个可用图块(图 2)后,打开 Quick Settings 面板,点按铅笔进入编辑模式。然后,将开发者图块从图块窗格拖动到 Quick settings 面板上,再次点按铅笔退出编辑模式。

    Configure developer options - 图2
    图 2. 添加到 Quick Settings 面板

    其他一般选项包括:

    • Memory:(在 Android 8.0 及更高版本上)显示内存统计数据,如平均内存使用率、内存性能、可用总内存、已使用的平均内存、可用内存量以及应用占用的内存量。
    • Take bug report:获取可与其他人共享的当前设备日志文件副本。当您获得错误报告已准备就绪的通知时,点按此通知即可共享。
    • System UI demo mode:显示不含通知或电池电量过低警告的通用预设通知栏,更轻松地截取整洁的屏幕截图。您可以利用 Enable Demo Mode 通过 adb 演示模式命令更改状态栏的外观。或者,您也可以使用 Show Demo Mode 隐藏通知和显示预设状态栏。
      :adb 演示模式命令并不适用于所有设备,因为这些命令没有在 Android 认证测试期间进行验证。它们仅经过验证可以在 Nexus 和 Pixel 设备上运行。

    • Desktop backup password:设置备份密码,以便您可以使用 adb 命令备份和恢复受密码保护的设备应用与数据。

    • Stay awake:将您的屏幕设置为在每次插入电源时保持唤醒状态。
    • Enable Bluetooth Host Controller Interface (HCI) snoop log:捕获存储在 /sdcard/btsnoop_hci.log 路径下的文件中的所有蓝牙 HCI 数据包。您可以检索数据包,然后使用像 Wireshark 一样的程序分析信息和排查问题。

    调试

    Configure developer options - 图3
    图 3. 已启用调试选项

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

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

    其他调试选项包括:

    • Store logger data persistently on device:选择您想要永久存储到设备上的日志消息的类型。选项包括“off”、“all”、“all but radio”和“kernal only”。
    • Select mock location app:使用此选项可以模拟设备的 GPS 位置,以测试您的应用在其他位置时行为是否相同。要使用此选项,请下载并安装 GPS 模拟位置应用。
      Configure developer options - 图4
      图 4. 视图属性
    • Enable view attribute inspection:将视图属性信息保存在 View 实例的 mAttributes 成员变量中,以便将这些信息用于调试。如图 4 所示,您可以通过布局检查器界面访问属性信息(如果不启用此选项,“Attributes”项将不可用)。

    网络

    Configure developer options - 图5
    图 5. 选择 USB 配置

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

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

    点按 Bluetooth AVRCP version,然后选择您想要用于控制设备有权访问的所有蓝牙 A/V 设备的配置文件版本。另外,要调校设备的音频播放性能,请点按并设置下列选项:

    • Bluetooth Audio Codec:选择以下编解码器之一来调整设备的音质(编解码器):
      • SBC:将数据传输到蓝牙音频输出设备,如头戴式耳机和音响设备。
      • AAC:在比特率相似的情况下,有线设备比 MP3 的音质更好。
      • aptX:使用优质智能手机、音响设备、条形音箱、头戴式耳机和平板电脑提供纯正的无线声音。
      • aptX HD:为蓝牙设备提供高分辨率流式传输。
      • LDAC:通过无线连接提供优质的音乐享受。
      • Enable Optional CodecsDisable Optional Codecs:如果您已经安装了其他编解码器实现,可以使用这两个选项启用和停用这些实现。
    • Bluetooth Audio Sample Range:通过选择音频编解码器采样率来调整每秒音频样本数量。采样率越高,使用的资源越多。
    • Bluetooth Audio Bits Per sample:设置每个音频样本中信息的位数。比特率越高,音质越好,但样本文件越大。
    • Bluetooth Audio Channel Mode:选择单声道或立体声。
    • Bluetooth Audio LDAC Codec:优化声音以提高音质,平衡音频和连接质量,提高连接质量,或者使用自适应比特率平衡音频和连接质量。
      下面的列表介绍了配置 WLAN 和 DHCP 设置的其他方式:
    • Wireless display certification:启用高级配置控件和设置,按照 Wi-Fi Alliance Wi-Fi Display Specification 中明确规定的规范进行无线显示认证。此认证适用于 Android 4.4(API 级别 19)及更高版本。
    • Enable Wi-Fi verbose logging:根据您连接到的每个无线网络 (SSID) 的相对接收信号强度 (RSSI) 提高其 WLAN 日志记录水平。如需了解有关日志的详细信息,请参阅使用 Logcat 写入和查看日志。
    • Aggressive Wi-Fi to cellular handover:当信号较弱时,将数据连接移交给蜂窝网络,让 WLAN 更高效。

    输入

    Configure developer options - 图6
    图 6. 指针位置

    启用 Show taps 会在您触摸屏幕时显示点按。您的手指或触控笔下会出现一个圆圈,这个圆圈会跟着您在屏幕上移动。当您在设备上点击 Record a Video 时,点按将作为指针工作。

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

    绘图

    Configure developer options - 图7
    图 7. 界面结构

    绘图选项提供了有关应用界面及其操作方式的可视化线索。

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

    其他绘图选项包括:

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

    硬件加速渲染

    Configure developer options - 图8
    图 8. 绿色弱视颜色空间

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

    点按 Simulate color space 可以更改整个设备界面的配色方案。此设置下面的选项是指色盲类型。包括“Disabled”(无模拟色彩方案)、“Monochromacy”(黑色、白色和灰色)、“Deuteranomaly”(红-绿)、“Protanomaly”(红-绿)和“Tritanomaly”(蓝-黄)。“Protanomaly”是指红-绿色盲,红色弱视;“Deuteranomaly”(图 8 所示)是指红-绿色盲,绿色弱视。

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

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

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

    媒体

    Configure developer options - 图9
    图 9. 栏表示形式

    启用 Disable USB audio routing 可以停用自动路由到通过 USB 端口连接到计算机的外部音频设备。自动路由会影响 USB 感知应用。

    监控

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

    依次点按 Profile GPU RenderingOn screen as bars,以竖条形式显示 GPU 渲染分析(图 9)。如需了解详细信息,请参阅分析 GPU 的渲染速度。

    应用

    Configure developer options - 图10
    图 10.设置后台进程限制

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

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

    在测试过程中点按 Reset ShortcutManager rate-limiting,使后台应用可以继续调用快捷键 API,直到重新达到速率限制。如需了解有关快捷键和速率限制的详细信息,请参阅 ShortcutManager

    启用 Don't keep activities 可以在用户离开 Activity 的主视图后立即销毁每个 Activity,这样可以增加电池续航时间。