Hallo leute,
iich habe eine app programmiert, welches musik abspielt. beim abspielen gibt es auch bilder zurück, die in den app-internen ressourcen gespeichert sind. die musikdateien befinden sich im res/raw ordner. die bilder können mittels eines buttons gewechselt werden.
wenn ich auf den button zum abspielen der musik klicke kommen folgender log-eintrag
03-15 08:49:07.744: V/MediaPlayer-JNI(28284): native_setup
03-15 08:49:07.744: V/MediaPlayer(28284): constructor
03-15 08:49:07.744: V/MediaPlayer(28284): setListener
03-15 08:49:07.744: V/MediaPlayer-JNI(28284): setDataSourceFD: fd 52
03-15 08:49:07.744: V/MediaPlayer(28284): setDataSource(52, 6586479, 1750093)
03-15 08:49:07.754: V/MediaPlayer(28284): setVideoSurfaceTexture
03-15 08:49:07.754: V/MediaPlayer(28284): prepare
03-15 08:49:07.764: V/MediaPlayer(28284): message received msg=5, ext1=0, ext2=0
03-15 08:49:07.764: V/MediaPlayer(28284): New video size 0 x 0
03-15 08:49:07.764: V/MediaPlayer(28284): callback application
03-15 08:49:07.764: V/MediaPlayer(28284): back from callback
03-15 08:49:07.764: V/MediaPlayer(28284): message received msg=1, ext1=0, ext2=0
03-15 08:49:07.764: V/MediaPlayer(28284): prepared
03-15 08:49:07.764: V/MediaPlayer(28284): signal application thread
03-15 08:49:07.764: V/MediaPlayer(28284): callback application
03-15 08:49:07.769: V/MediaPlayer(28284): prepare complete - status=0
03-15 08:49:07.769: V/MediaPlayer-JNI(28284): start
03-15 08:49:07.769: V/MediaPlayer(28284): back from callback
03-15 08:49:07.769: V/MediaPlayer(28284): start
03-15 08:49:07.844: I/MediaPlayer(28284): Don't send intent. msg.arg1 = 0, msg.arg2 = 0
03-15 08:49:08.034: E/SpannableStringBuilder(28284): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
03-15 08:49:08.034: E/SpannableStringBuilder(28284): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
Alles anzeigen
wenn ich auf den button zum wechseln des bildes klicke erscheint folgender eintrag:
03-15 08:50:20.169: D/dalvikvm(28676): GC_FOR_ALLOC freed 7507K, 26% free 29408K/39367K, paused 88ms, total 89ms
03-15 08:50:20.179: I/dalvikvm-heap(28676): Grow heap (frag case) to 37.295MB for 7680016-byte allocation
03-15 08:50:20.219: D/dalvikvm(28676): GC_CONCURRENT freed 1K, 7% free 36906K/39367K, paused 12ms+3ms, total 44ms
03-15 08:50:20.304: D/dalvikvm(28676): GC_FOR_ALLOC freed 0K, 7% free 36906K/39367K, paused 13ms, total 13ms
03-15 08:50:20.304: I/dalvikvm-heap(28676): Forcing collection of SoftReferences for 17280016-byte allocation
03-15 08:50:20.324: D/dalvikvm(28676): GC_BEFORE_OOM freed 9K, 7% free 36897K/39367K, paused 19ms, total 19ms
03-15 08:50:20.324: E/dalvikvm-heap(28676): Out of memory on a 17280016-byte allocation.
03-15 08:50:20.324: I/dalvikvm(28676): "main" prio=5 tid=1 RUNNABLE
03-15 08:50:20.324: I/dalvikvm(28676): | group="main" sCount=0 dsCount=0 obj=0x42032508 self=0x42022470
03-15 08:50:20.324: I/dalvikvm(28676): | sysTid=28676 nice=0 sched=0/0 cgrp=apps handle=1075527472
03-15 08:50:20.324: I/dalvikvm(28676): | schedstat=( 1026481849 337231657 925 ) utm=75 stm=27 core=0
03-15 08:50:20.324: I/dalvikvm(28676): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
03-15 08:50:20.324: I/dalvikvm(28676): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:625)
03-15 08:50:20.324: I/dalvikvm(28676): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:478)
03-15 08:50:20.324: I/dalvikvm(28676): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:781)
03-15 08:50:20.324: I/dalvikvm(28676): at android.content.res.Resources.loadDrawable(Resources.java:1963)
03-15 08:50:20.324: I/dalvikvm(28676): at android.content.res.Resources.getDrawable(Resources.java:672)
03-15 08:50:20.324: I/dalvikvm(28676): at android.widget.ImageView.resolveUri(ImageView.java:611)
03-15 08:50:20.324: I/dalvikvm(28676): at android.widget.ImageView.setImageResource(ImageView.java:354)
03-15 08:50:20.324: I/dalvikvm(28676): at fb1907.de.MainActivity$4.onClick(MainActivity.java:90)
03-15 08:50:20.324: I/dalvikvm(28676): at android.view.View.performClick(View.java:4232)
03-15 08:50:20.324: I/dalvikvm(28676): at android.view.View$PerformClick.run(View.java:17298)
03-15 08:50:20.324: I/dalvikvm(28676): at android.os.Handler.handleCallback(Handler.java:615)
03-15 08:50:20.324: I/dalvikvm(28676): at android.os.Handler.dispatchMessage(Handler.java:92)
03-15 08:50:20.324: I/dalvikvm(28676): at android.os.Looper.loop(Looper.java:137)
03-15 08:50:20.324: I/dalvikvm(28676): at android.app.ActivityThread.main(ActivityThread.java:4921)
03-15 08:50:20.324: I/dalvikvm(28676): at java.lang.reflect.Method.invokeNative(Native Method)
03-15 08:50:20.324: I/dalvikvm(28676): at java.lang.reflect.Method.invoke(Method.java:511)
03-15 08:50:20.324: I/dalvikvm(28676): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
03-15 08:50:20.324: I/dalvikvm(28676): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
03-15 08:50:20.324: I/dalvikvm(28676): at dalvik.system.NativeStart.main(Native Method)
03-15 08:50:20.324: A/libc(28676): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 28676 (fb1907.de)
Alles anzeigen
zum beenden habe ich eine onklick-methode eines buttons folgendermaßen definiert:
public void QuitKlick(View v) {
if(mp.isPlaying() || mp != null) {
mp.stop();
mp.release();
mp = null;
}
this.finish();
trotzdem bekomme ich eine exception wenn ich auf den button klicke:
03-15 08:58:57.614: W/dalvikvm(29460): threadid=1: thread exiting with uncaught exception (group=0x420312a0)
03-15 08:58:57.624: E/AndroidRuntime(29460): FATAL EXCEPTION: main
03-15 08:58:57.624: E/AndroidRuntime(29460): java.lang.IllegalStateException: Could not execute method of the activity
03-15 08:58:57.624: E/AndroidRuntime(29460): at android.view.View$1.onClick(View.java:3704)
03-15 08:58:57.624: E/AndroidRuntime(29460): at android.view.View.performClick(View.java:4232)
03-15 08:58:57.624: E/AndroidRuntime(29460): at android.view.View$PerformClick.run(View.java:17298)
03-15 08:58:57.624: E/AndroidRuntime(29460): at android.os.Handler.handleCallback(Handler.java:615)
03-15 08:58:57.624: E/AndroidRuntime(29460): at android.os.Handler.dispatchMessage(Handler.java:92)
03-15 08:58:57.624: E/AndroidRuntime(29460): at android.os.Looper.loop(Looper.java:137)
03-15 08:58:57.624: E/AndroidRuntime(29460): at android.app.ActivityThread.main(ActivityThread.java:4921)
03-15 08:58:57.624: E/AndroidRuntime(29460): at java.lang.reflect.Method.invokeNative(Native Method)
03-15 08:58:57.624: E/AndroidRuntime(29460): at java.lang.reflect.Method.invoke(Method.java:511)
03-15 08:58:57.624: E/AndroidRuntime(29460): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
03-15 08:58:57.624: E/AndroidRuntime(29460): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
03-15 08:58:57.624: E/AndroidRuntime(29460): at dalvik.system.NativeStart.main(Native Method)
03-15 08:58:57.624: E/AndroidRuntime(29460): Caused by: java.lang.reflect.InvocationTargetException
03-15 08:58:57.624: E/AndroidRuntime(29460): at java.lang.reflect.Method.invokeNative(Native Method)
03-15 08:58:57.624: E/AndroidRuntime(29460): at java.lang.reflect.Method.invoke(Method.java:511)
03-15 08:58:57.624: E/AndroidRuntime(29460): at android.view.View$1.onClick(View.java:3699)
03-15 08:58:57.624: E/AndroidRuntime(29460): ... 11 more
03-15 08:58:57.624: E/AndroidRuntime(29460): Caused by: java.lang.NullPointerException
03-15 08:58:57.624: E/AndroidRuntime(29460): at fb1907.de.SongList.QuitKlick(SongList.java:55)
03-15 08:58:57.624: E/AndroidRuntime(29460): ... 14 more
Alles anzeigen
was ich nicht verstehe, als ich fertig mit der app war, funktionierte sie einwandfrei ohne jegliche fehler. aus neugier habe ich mal die app nach langer zeit wieder (auf meiner neuen android-version 4.1.2) ausgeführt und habe plötzlich die oben genannten probleme.
komischerweise funktioniert es ohne fehler auf dem emulator. woran kann das liegen? am telefon selbst? oder doch am code?