版本说明

本页概述了 Android Game Development Kit (AGDK) 库的每个版本的变化。在 v1.2.4 发布之前,该库称为 Android Game SDK。

2023.3.0.0(2023 年 6 月 2 日)

此版本修复了几个问题。

GameActivity

已修复 修复了 GameActivityEvents 中的稳定性问题。

Android Memory Advice 库

功能 更新了为库提供支持的机器学习模型,可以在较新款手机上改进结果。

Android Performance Tuner

已修复 修复了在插桩键数上限大于直方图计数时库崩溃的 bug。
功能 更新了库中的遥测收集功能,以便更精细地报告帧渲染时间。

2023.2.0.0(2023 年 4 月 27 日)

此版本修复了几个问题。

GameActivity

已修复 修复了通过 historyEventTimes 提前释放内存的问题。
已修复 修复了 historyEventTimesNanos 在 32 位系统上溢出的问题。

Android Memory Advice 库

已修复 修复了导致无法正确链接静态库的 bug。
已修复 修复了库无法正确加载所需 TensorFlow Lite 资源的 bug。

2023.1.0.0(2023 年 3 月 15 日)

此主要版本包含构建系统更新,以便更快地从源代码构建库。

GameActivity

已更改 更改了历史事件时间的接口,以克服 32 位限制。
功能 为用户提供了对配置更改的访问权限。
功能 优化了触摸事件处理中的大多数 JNI 调用。
已修复 修复了操作系统对触摸事件(例如处理系统按钮)的默认处理问题。

GameController

功能 添加了检测硬件键盘连接状态的功能。
功能 添加了从主设备(即手机)和控制器报告运动数据(加速度计/陀螺仪)的功能。
已更改 更改了控制器定义数据库的 API 和格式,以减少内存占用并支持其他功能。

Android Frame Pacing 库

功能 添加了 Vulkan 帧统计信息。
功能 新增了一个用于清除帧统计信息的 API。
已更改 在发布模式下,所有日志均保持静默状态,您可以在调试模式下启用这些日志。

2022.0.0(2022 年 3 月 15 日)

此主要版本包含内存建议库以及针对其他库的多项修复。

GameActivity

功能 添加了对用于在 IME 和刘海屏周围放置游戏界面的边衬区的处理。
功能 添加了按键和动作事件过滤器
已修复 修复了一些问题,以避免丢失输入事件并阻止使用所有输入事件

Android Performance Tuner

已更改 内存报告现在以时间序列而非直方图的形式
功能 允许以编程方式设置上传时间间隔
已修复 修复了 API 密钥损坏的 bug

Android Frame Pacing 库

功能 改进了自动模式
功能 添加了“unjectTracer”函数

Android 内存建议库

功能 添加了 Memory Advice 库

2021.1.0(2021 年 7 月 12 日)

我们曾将该产品称为 Android Game SDK,现在称为 Android Game Development Kit。此主要版本包含几个新库,并修复了 Android Frame Pacing 和 Android Performance Tuner 库中的一些小 bug。

功能 GameActivity 是一个新组件,用于替代和改进 NDK 的 NativeActivity。
功能 GameTextInput 是一个新组件,可改进与 Android 软键盘的交互。
功能 GameController 是一个新组件,可让您更轻松地与外部控制器进行交互和管理外部控制器。

1.2.4(2021 年 4 月 21 日)

此版本是 Android Performance Tuner 的问题修复版本。

Android Performance Tuner

已修复 修复了 CLOCK_BOOTTIME 不一致的设备上的加载时间和时长记录问题。

1.2.3(2021 年 3 月 10 日)

此版本将 Oboe 添加到了 Game SDK。Android Frame Pacing 库和 Android Performance Tuner 没有变化。

Oboe 是一个开源 C++ 库,用于在 Android 上实现高性能音频。Oboe 提供了一个适用于 Android 4.1(API 级别 16)及更高版本的原生 API。

1.2.2(2021 年 2 月 12 日)

此版本改进了 Android Performance Tuner 的加载时间 API,并修复了几个问题。Android Frame Pacing 库没有变化。

Android Performance Tuner

功能 加载事件现在必须通过调用 TuningFork_startLoadingGroupTuningFork_stopLoadingGroup 进行分组。
已修复 调用 TuningFork_flush 会立即上传数据,而不是将数据加入队列稍后再上传。
已修复 时间的 JSON 格式设置导致间歇性上传失败。
已修复 发布 build 的上传问题。

1.2.1(2020 年 12 月 16 日)

此版本是 Android Performance Tuner 的内部功能版本,并将 Jetpack 库从 Alpha 版提升到 Beta 版。Android Frame Pacing 或 Android Performance Tuner API 没有变化。

请注意,链接到 Game SDK 库时,现在必须分别引用它们,而不是链接到通用的“gamesdk”库。请参阅 Android Frame Pacing:OpenGLAndroid Frame Pacing:VulkanAndroid Performance Tuner 的构建设置。

Android Performance Tuner

功能 当玩家在加载期间将游戏置于后台时,系统会发送一个事件,以便稍后对放弃加载进行分析。

1.2.0(2020 年 10 月 29 日)

此版本中的主要更改是添加了用于记录加载时间的机制。此外,还修复了一些问题。请注意,现在可通过 AGDK 库 Jetpack 库获得 Game SDK。

Android Frame Pacing 库

功能 自动模式刷新频率切换支持。
请注意,为了在 Android 11 中支持多种刷新频率,无论是否使用自动模式,都应调用 SwappyGL_setWindowSwappyVk_setWindow
已修复 自动模式问题修复。
已修复 Vulkan 问题修复。

Android Performance Tuner

功能 加载时间。
应调用新函数 TuningFork_startRecordingLoadingTimeTuningFork_stopRecordingLoadingTime 来记录标注的加载时间事件。系统会自动记录从应用启动到 TuningFork_init 和第一个 tick 的时间。
已更改 之前用于设置加载时间注解的方法不再有效。
功能 生命周期事件。
调用相应的 Java onCreate 等函数时,应调用 TuningFork_reportLifecycleEvent。这样可从 Android Performance Tuner 中进行详细地崩溃报告。
已更改 现在,调用 TuningFork_enableMemoryRecording(true) 时,会记录更多内存指标。
已更改 内存模型更改。
现在,在启动时指定每个类型的最大指标数,而不是为所有可能的注解组合分配空间。请参阅 tuningfork.h 中的 TuningFork_MetricLimits
已修复 使用按流量计费的网络连接时不上传。

1.1.0(2020 年 6 月 10 日)

此版本的 AGDK 库提供了 Android Performance Tuner 指标报告和质量调整库(也称为 Tuning Fork)。此库适用于原生游戏引擎和 Unity,并具有以下功能:

功能 Android Frame Pacing 库集成以自动记录帧时间和其他渲染指标。
功能 帧时间信息以直方图的形式记录并定期上传。
功能 用时数据及当前游戏状态的注释。
功能 设备特性、注释和质量设置会随用时数据一起上传,以进行跨区段分析。
功能 对指明关卡加载时间的注释进行特殊处理。加载期间不会记录帧 tick 数据,但会记录每个加载期间的持续时间。
功能 能够记录自定义计时信息(使用 startTraceendTrace)。

1.0.2(2020 年 3 月 30 日)

此版本修复了多个问题,并更改了自动模式的行为。

已修复 修复了 swappy 销毁和重新初始化的问题。
已更改 流水线在默认情况下处于启用状态。如果启用了自动流水线,Swappy 仍然可以决定在工作负载非常低时将其关闭。
已更改 启用自动模式后,只有当在 2 秒的时间窗口中有 15% 的帧比预期快或慢时,Swappy 才会决定切换交换间隔。请注意,Swappy 的交换速度绝不会慢于用户指定的交换间隔。

1.0.1(2020 年 2 月 19 日)

此版本主要用于更正错误。

已修复 在退出时清除 Vulkan 内的 SwappyFallback 代码路径中的资源。
已修复 如果有多个交换链,SwappyVk_destroySwapchain 不再销毁设备资源。
已修复 现已使用 logcat 能够输出 Swappy 版本。
已修复 在 API 级别 24 及更低级别,Swappy_destroy 中的崩溃和死锁。
功能 支持自定义线程管理器 (Swappy_setThreadFunctions)。
功能 支持挂接 Vulkan 函数 (SwappyVk_setFunctionProvider)。

1.0.0(2019 年 12 月 5 日)

这是 AGDK 库的初始版本,提供了 Android Frame Pacing 库

功能 显示缓冲区同步。
功能 支持自动刷新频率模式和流水线。
功能 收集帧渲染统计信息。
功能 在运行时根据 Swappy 所需的 Android、OpenGL 和 Vulkan 功能,自由选择行为。
功能 库的静态和动态链接。
功能 支持具有多个刷新频率的设备。