我正在嘗試使用 C 、SDL2 和 Android Studio NDK 創建一個數獨應用程式。
理論上它已經運行良好,除非我手動構建和安裝應用程式。
當我在 Android Studio 中使用 RUN-Button 運行應用程式時,我得到大約 50-60 FPS,但當我通過 BUILD -> GENERATE SIGNED BUNDLE / APK... -> APK 安裝應用程式時,性能會大幅下降它在實際 android 設備上的 SD 卡上(我已經在小米米 A1、三星 Tab S3 和一些舊設備上進行了測驗)。手動安裝應用程式時,我得到大約 9-11 FPS。
為了創建專案,我使用了 SDL2 包(版本 2.0.18)中的模板專案。
我對這兩種情況使用相同的(發布-)構建變體。
該應用程式是通過 NDK-Build 構建的。
我的結論是,雖然我的渲染代碼可能不是最有效的,但這并不是導致這里巨大性能問題的問題。
螢屏截圖:使用 RUN 構建
螢屏截圖:使用 BUILD 構建 -> GENERATE SIGNED BUNDLE / APK... -> APK
我已經嘗試更改多個構建設定,包括在除錯和發布模式之間切換、在 Application.mk 檔案中添加優化(C 和 C -)標志、使用未壓縮資產構建。在這兩種情況下,性能保持不變。
我的問題是:構建 APK 和單擊 RUN 之間可能有什么區別,這會導致此性能問題?我希望有人能在這里幫助我,因為我現在非常無能為力。先感謝您。
uj5u.com熱心網友回復:
RUN 和 BUILD 之間的區別在于我的Run-configuration。
在安裝選項->部署下,我選擇了“來自應用程式包的 APK ”。經過數小時的研究和嘗試后,我將其更改為“默認 APK ”,這導致了與上述問題中所述的構建和手動安裝相同的性能問題。
雖然我仍然不知道為什么會這樣,但我找到了一種獲取 APK 檔案的方法,至少現在對我
有用:而不是使用 BUILD -> GENERATE SIGNED BUNDLE / APK 構建... -> APK 我現在選擇BUILD -> GENERATE SIGNED BUNDLE / APK... ->https://developer.android.com/studio/command-line/bundletool)。轉換后的 APK 在我的 android 設備上運行良好。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/401118.html
標籤:C 表现 安卓工作室 android-ndk ndk-build
