我測試一個移動應用程序,並一直在努力應對當我使用Android模擬器的應用程序不斷崩潰。我在Android設備上沒有任何問題,但模擬器每天都會崩潰幾次。一旦我找到應用程序的「工作流程」中易於出現崩潰的部分,該應用程序就會一直崩潰。但究竟在應用程序觸發崩潰的位置似乎因版本而異。如何修復Android模擬器上的頻繁內存不足錯誤?
這裏是崩潰報告:
Android: 2.3.7
Model: Full Android on x86 Emulator
java.lang.OutOfMemoryError: bitmap size exceeds VM budget
at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:470)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:525)
at our.app.util.OurAppFileManager.getBrandingImageFromSD(OurAppFileManager.java:104)
at our.app.MainScreen.onResume(MainScreen.java:150)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1150)
at android.app.Activity.performResume(Activity.java:3832)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2110)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2135)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1668)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
這裏是我的仿真器設置一個截圖:
我試圖改變的RAM和VM堆和內部存儲設置沒有多少運氣。事實上,如果我將RAM設置得太高,模擬器啓動器就會開始抱怨。
你試過'使用主機GPU'嗎?通常,如果你使用x86,你會需要這個。但林不知道它是否適用於2.3.3(它現在可能,但最初沒有) – AJak
你提到的設備也運行在2.3.7上? –
AJak,我嘗試了主機GPU,但是模擬器沒有正常啓動:它看起來像是開始,然後顯示黑屏。 –