Android 遊戲開發工具包熱門問題解答

語言: CN / TW / HK

作者 / Android DevRel 技術主管經理 Wayne Lu

我們在 7 月發佈了 Android 遊戲開發工具包 (AGDK),並收集了一些開發者提出的熱門問題,包括 AGDK 庫和工具、Android 內存優化以及繪製圖形等。

AGDK 和遊戲引擎

首先,早期新興的遊戲開發者向我們提問如何使用此套 AGDK 庫和工具。我們給出如下建議,具體則取決於您的設置:

  1. 如果您使用的是 DefoldGodotUnityUnreal熱門遊戲引擎,您可以根據我們的指南,學習如何在 Android 上開發應用。使用這些遊戲引擎可助您專注於構建遊戲玩法而非整個技術棧。
  2. 如果您使用 Unreal 引擎且針對多個平台 (例如 PC 或主機),Android 遊戲開發工具擴展包 (AGDE) 可能會對您的工作流程起到很好的補充效果。
  3. 我們還為想要自定義和編寫自己遊戲引擎的開發者提供支持,您可通過我們的 C 或 C++ 文檔 瞭解詳情。

選擇遊戲引擎和工作流程之後,您可以進一步研究我們的工具,例如可檢查遊戲的 Android Studio 性能剖析器、可分析圖形的 Android GPU Inspector 以及可優化幀率和加載時間的 Android Performance Tuner

遊戲模式 API 和干預

之後,我們收到了關於針對 Android 12 進行開發的問題。您無需為在 Android 12 上運行遊戲進行任何特殊操作,我們引入了 遊戲模式 API 和干預,以幫助玩家自定義其遊戲體驗。

  1. 您可以閲讀更多關於 遊戲模式 API 的內容,瞭解如何在用户選擇相應的遊戲模式時優化遊戲,以獲得最佳性能或最長電池續航時間。

  2. 您可以瞭解更多 遊戲模式干預,這些干預由原始設備製造商 (OEM) 設置,以改善那些不再被開發商更新的遊戲的性能。例如: 調整 WindowManager 後台緩衝區的大小,以減少設備的 GPU 負載。

Android 的內存訪問

其次,有開發者問到在 Android 與 Windows 中進行遊戲開發時,內存訪問工作原理的異同。簡而言之,要點如下:

  1. 遊戲需要與系統共享內存。一些設備的可用內存比其他設備少,因此需要開展測試,以檢查一系列受支持的設備是否存在內存不足問題。測試應在用户已安裝典型應用的設備 (即非全新設備) 上開展。

  2. 遊戲可分配的內存 大小取決於各種因素,例如物理內存量、髒頁數和 zRam (用於壓縮交換) 總量。

  3. 內存不足可能表現為 onTrimMemory() 調用、內存抖動或 低內存終止守護進程 (Low Memory Killer) 終止遊戲。您可以使用 bugreport 日誌檢查低內存終止守護進程 (Low Memory Killer) 是否已終止遊戲,或者在 Android 11 及更高版本中檢查 ApplicationExitInfo,以查看遊戲是否因 REASON_LOW_MEMORY 而終止。

  4. 避免 內存抖動: 當內存較低但又不足以終止遊戲時會發生這種情況。您可以通過 系統跟蹤 檢測到這一情況,且應該通過減少整體內存佔用以避免此問題。

  5. 使用 Android 性能剖析器其他工具 檢查內存使用情況。

在 Android 中繪製圖形

第三,我們收到了有關如何在 Android 中繪製圖形的問題。您可以藉助以下選項實現此目標: OpenGL ESVulkan 圖形 API:

  1. 瞭解如何通過初始化變量以及使用遊戲循環、場景和對象進行渲染,為 C++ 遊戲引擎 配置 OpenGL ES 圖形

  2. 閲讀我們的 Vulkan 指南,瞭解如何繪製立方體、編譯着色器、設置驗證層及其他最佳實踐。

您可以觀看 問答視頻 查看有關 AGDK 的熱門問題,也可以訪問 Android 官方網站 獲取有關 Android 遊戲開發的最新資源。

歡迎您 點擊這裏 向我們提交反饋,或分享您喜歡的內容、發現的問題。您的反饋對我們非常重要,感謝您的支持!