L
Lucid85
Neues Mitglied
- 0
hallo,
ich habe ein android spiel programmiert und es läuft auch soweit ganz gut. nun habe ich aber das problem, dass ich manchmal beim erneuten starten des spiels einen OutOfMemoryError einfange und das spiel beendet wird. ich habe schon folgende vorkehrungen getroffen:
1. in meinem manifest file habe ich in der activity
android:launchMode= "singleTask"
ergänzt.
2. in der methode public void surfaceDestroyed(SurfaceHolder holder) meines SurfaceView (mit Surface.Callback-interface) habe ich mittels recycle() alle bitmaps wieder freigegeben.
kann mir bitte jemand noch tipps geben, was ich noch versuchen kann?
hier nochmal der error stack:
04-13 07:28:24.227: E/AndroidRuntime(1804): FATAL EXCEPTION: main
04-13 07:28:24.227: E/AndroidRuntime(1804): Process: de.lucid.mygame, PID: 1804
04-13 07:28:24.227: E/AndroidRuntime(1804): java.lang.OutOfMemoryError
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:575)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:410)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.graphics.BitmapFactory.decodeResource(BitmapFactory.java:433)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.graphics.BitmapFactory.decodeResource(BitmapFactory.java:463)
04-13 07:28:24.227: E/AndroidRuntime(1804): at de.lucid.mygame.views.PlayView$GameThread.<init>(PlayView.java:96)
04-13 07:28:24.227: E/AndroidRuntime(1804): at de.lucid.mygame.views.PlayView.restart(PlayView.java:346)
04-13 07:28:24.227: E/AndroidRuntime(1804): at de.lucid.mygame.activities.PlayActivity.onStart(PlayActivity.java:61)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.app.Activity.performStart(Activity.java:5253)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.app.Activity.performRestart(Activity.java:5309)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.app.Activity.performResume(Activity.java:5314)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2759)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2798)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1439)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.os.Handler.dispatchMessage(Handler.java:102)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.os.Looper.loop(Looper.java:137)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.app.ActivityThread.main(ActivityThread.java:4998)
04-13 07:28:24.227: E/AndroidRuntime(1804): at java.lang.reflect.Method.invokeNative(Native Method)
04-13 07:28:24.227: E/AndroidRuntime(1804): at java.lang.reflect.Method.invoke(Method.java:515)
04-13 07:28:24.227: E/AndroidRuntime(1804): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
04-13 07:28:24.227: E/AndroidRuntime(1804): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
04-13 07:28:24.227: E/AndroidRuntime(1804): at dalvik.system.NativeStart.main(Native Method)
ich habe ein android spiel programmiert und es läuft auch soweit ganz gut. nun habe ich aber das problem, dass ich manchmal beim erneuten starten des spiels einen OutOfMemoryError einfange und das spiel beendet wird. ich habe schon folgende vorkehrungen getroffen:
1. in meinem manifest file habe ich in der activity
android:launchMode= "singleTask"
ergänzt.
2. in der methode public void surfaceDestroyed(SurfaceHolder holder) meines SurfaceView (mit Surface.Callback-interface) habe ich mittels recycle() alle bitmaps wieder freigegeben.
kann mir bitte jemand noch tipps geben, was ich noch versuchen kann?
hier nochmal der error stack:
04-13 07:28:24.227: E/AndroidRuntime(1804): FATAL EXCEPTION: main
04-13 07:28:24.227: E/AndroidRuntime(1804): Process: de.lucid.mygame, PID: 1804
04-13 07:28:24.227: E/AndroidRuntime(1804): java.lang.OutOfMemoryError
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:575)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:410)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.graphics.BitmapFactory.decodeResource(BitmapFactory.java:433)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.graphics.BitmapFactory.decodeResource(BitmapFactory.java:463)
04-13 07:28:24.227: E/AndroidRuntime(1804): at de.lucid.mygame.views.PlayView$GameThread.<init>(PlayView.java:96)
04-13 07:28:24.227: E/AndroidRuntime(1804): at de.lucid.mygame.views.PlayView.restart(PlayView.java:346)
04-13 07:28:24.227: E/AndroidRuntime(1804): at de.lucid.mygame.activities.PlayActivity.onStart(PlayActivity.java:61)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.app.Activity.performStart(Activity.java:5253)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.app.Activity.performRestart(Activity.java:5309)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.app.Activity.performResume(Activity.java:5314)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2759)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2798)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1439)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.os.Handler.dispatchMessage(Handler.java:102)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.os.Looper.loop(Looper.java:137)
04-13 07:28:24.227: E/AndroidRuntime(1804): at android.app.ActivityThread.main(ActivityThread.java:4998)
04-13 07:28:24.227: E/AndroidRuntime(1804): at java.lang.reflect.Method.invokeNative(Native Method)
04-13 07:28:24.227: E/AndroidRuntime(1804): at java.lang.reflect.Method.invoke(Method.java:515)
04-13 07:28:24.227: E/AndroidRuntime(1804): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
04-13 07:28:24.227: E/AndroidRuntime(1804): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
04-13 07:28:24.227: E/AndroidRuntime(1804): at dalvik.system.NativeStart.main(Native Method)
Zuletzt bearbeitet: