Programmfehler

programm2008

programm2008

Ambitioniertes Mitglied
0
Hallo Leute,
bin schon seit ca. einer Woche als Entwickler im PlayStore registriert. Und ich bekomme Absturzberichte, die ich nicht ausfündig machen kann... Der Programmteil der betroffen ist, besteht aus einem Viewflipper, der zwischen verschiedenen Bildern switcht und dazu die entsprechenden Sounds wiedergibt. Ich habe es mal mit dem Garbage Collector versucht, das nach jedem switchen aufgerufen wird, aber iwie scheint das nicht zu funktionieren...:confused: Bin echt ratlos

OutOfMemoryError
in Bitmap.nativeCreate()
4 Berichte 2 Berichte/Woche

Bericht Nr. 1

java.lang.RuntimeException: Unable to start activity ComponentInfo{de.silentcoderz.elifbaspiel/de.silentcoderz.elifbaspiel.Lernspiel}: android.view.InflateException: Binary XML file line #336: Error inflating class <unknown>
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1659)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1675)
at android.app.ActivityThread.access$1500(ActivityThread.java:121)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:943)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:3701)
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:862)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #336: Error inflating class <unknown>
at android.view.LayoutInflater.createView(LayoutInflater.java:518)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207)
at android.app.Activity.setContentView(Activity.java:1657)
at de.silentcoderz.elifbaspiel.Lernspiel.onCreate(Lernspiel.java:21)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1623)
... 11 more
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:415)
at android.view.LayoutInflater.createView(LayoutInflater.java:505)
... 24 more
Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget
at android.graphics.Bitmap.nativeCreate(Native Method)
at android.graphics.Bitmap.createBitmap(Bitmap.java:477)
at android.graphics.Bitmap.createBitmap(Bitmap.java:444)
at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:349)
at android.graphics.BitmapFactory.finishDecode(BitmapFactory.java:498)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:473)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:336)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:715)
at android.content.res.Resources.loadDrawable(Resources.java:1713)
at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
at android.widget.ImageView.<init>(ImageView.java:122)
at android.widget.ImageView.<init>(ImageView.java:112)
... 27 more

Bericht Nummer 2:

java.lang.RuntimeException: Unable to start activity ComponentInfo{de.silentcoderz.elifbaspiel/de.silentcoderz.elifbaspiel.Lernspiel}: android.view.InflateException: Binary XML file line #192: Error inflating class <unknown>
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1955)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980)
at android.app.ActivityThread.access$600(ActivityThread.java:122)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4340)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #192: Error inflating class <unknown>
at android.view.LayoutInflater.createView(LayoutInflater.java:606)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:653)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:678)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:739)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:742)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:742)
at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:251)
at android.app.Activity.setContentView(Activity.java:1835)
at de.silentcoderz.elifbaspiel.Lernspiel.onCreate(Lernspiel.java:21)
at android.app.Activity.performCreate(Activity.java:4465)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919)
... 11 more
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:586)
... 26 more
Caused by: java.lang.OutOfMemoryError
at android.graphics.Bitmap.nativeCreate(Native Method)
at android.graphics.Bitmap.createBitmap(Bitmap.java:605)
at android.graphics.Bitmap.createBitmap(Bitmap.java:551)
at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:437)
at android.graphics.BitmapFactory.finishDecode(BitmapFactory.java:524)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:499)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:351)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:773)
at android.content.res.Resources.loadDrawable(Resources.java:1937)
at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
at android.widget.ImageView.<init>(ImageView.java:119)
at android.widget.ImageView.<init>(ImageView.java:109)
... 29 more


Bericht Nr.3:

java.lang.RuntimeException: Unable to start activity ComponentInfo{de.silentcoderz.elifbaspiel/de.silentcoderz.elifbaspiel.Lernspiel}: android.view.InflateException: Binary XML file line #324: Error inflating class <unknown>
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1659)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1675)
at android.app.ActivityThread.access$1500(ActivityThread.java:121)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:943)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3701)
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:866)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:624)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #324: Error inflating class <unknown>
at android.view.LayoutInflater.createView(LayoutInflater.java:518)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:626)
at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:227)
at android.app.Activity.setContentView(Activity.java:1657)
at de.silentcoderz.elifbaspiel.Lernspiel.onCreate(Lernspiel.java:21)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1623)
... 11 more
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:415)
at android.view.LayoutInflater.createView(LayoutInflater.java:505)
... 24 more
Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget
at android.graphics.Bitmap.nativeCreate(Native Method)
at android.graphics.Bitmap.createBitmap(Bitmap.java:477)
at android.graphics.Bitmap.createBitmap(Bitmap.java:444)
at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:349)
at android.graphics.BitmapFactory.finishDecode(BitmapFactory.java:532)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:507)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:370)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:715)
at android.content.res.Resources.loadDrawable(Resources.java:1720)
at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
at android.widget.ImageView.<init>(ImageView.java:122)
at android.widget.ImageView.<init>(ImageView.java:112)
... 27 more



NullPointerException
in Soundboard.onClick()
1 Berichte 1 Berichte/Woche

java.lang.NullPointerException
at de.silentcoderz.elifbaspiel.Soundboard.onClick(Soundboard.java:327)
at android.view.View.performClick(View.java:3511)
at android.view.View$PerformClick.run(View.java:14105)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)



OutOfMemoryError
in Connection.getBuf()
1 Berichte 0 Berichte/Woche

java.lang.OutOfMemoryError: (Heap Size=6151KB, Allocated=3803KB, Bitmap Size=26684KB)
at android.net.http.Connection.getBuf(Connection.java:716)
at android.net.http.Request.readResponse(Request.java:346)
at android.net.http.Connection.processRequests(Connection.java:387)
at android.net.http.ConnectionThread.run(ConnectionThread.java:144)
 
Moin,

3x eine InflateException
1x eine NullpointerException
1x kein Speicher verfügbar

Nullpointerexception --> Variable ohne Wert wurde abgerufen (vlt. jemand der nichts eingegeben hat?)

Ohne Quellcode können wir auch nicht viel machen...

L4e
 
  • Danke
Reaktionen: programm2008
Hmm okay... Was genau ist InflateException? Das ist einfach nur ein Viewflipper mit Sounds... nichts weiter
 
Wenn dir der Speicher ausgeht kommt die inflateexception gerne. Das wird auch dein Problem sein. Schlechtes oder gar kein speichermanagement.

Gesendet von meinem Galaxy Nexus mit der Android-Hilfe.de App
 
Tfuuuu und Java prahlt mit dem GarbageCollector... Ich hab onCompletitionListener eingebaut die einen "release" ausführen, wenn ein Sound erfolgreich abgespielt wurde und bei showNext und showPrevious wird System.gc() aufgerufen wieso reicht das net -.-
 
Zum Thema Garbage Collection fällt mir folgender Satz ein:

Wenn du willst, dass dein Müll abgeholt wird, musst du ihn schon vor die Tür stellen.

Mit anderen Worten, wenn du zum Beispiel einen tollen Cache (ohne WeakReferences) für deine Bitmaps gebaut hast, dann kann dir die Garbage Collection nicht helfen.

Gehe mal deinen Code durch, ob du irgendwo "große" Objekte in globalen/ statischen Variablen, im (Application) Context oder in einem Adapter speicherst.
 
Was kann ich denn daran optimieren :S

ViewFlipper flippy;


@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.lernspiel);
this.setVolumeControlStream(AudioManager.STREAM_MUSIC);

flippy = (ViewFlipper) findViewById(R.id.viewflipper);
MediaPlayer a = MediaPlayer.create(getBaseContext(), R.raw.sound1);
a.start();
}


public void weiter (View view){
System.gc();
flippy.showNext();

if (flippy.getDisplayedChild() == 0) {
MediaPlayer a = MediaPlayer.create(getBaseContext(), R.raw.sound1);
a.start();
a.setOnCompletionListener( new MediaPlayer.OnCompletionListener()
{
public void onCompletion( MediaPlayer a)
{
a.release();
}
});
}
else if (flippy.getDisplayedChild() == 1) {
MediaPlayer b = MediaPlayer.create(getBaseContext(), R.raw.sound2);
b.start();
b.setOnCompletionListener( new MediaPlayer.OnCompletionListener()
{
public void onCompletion( MediaPlayer b)
{
b.release();
}
});
}
else if (flippy.getDisplayedChild() == 2) {
MediaPlayer c = MediaPlayer.create(getBaseContext(), R.raw.sound3);
c.start();
c.setOnCompletionListener( new MediaPlayer.OnCompletionListener()
{
public void onCompletion( MediaPlayer c)
{
c.release();
}
});
}
 
Zurück
Oben Unten