Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Speicher Problem(?) führt zu Crash

Das Thema "Speicher Problem(?) führt zu Crash" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 08.06.2011, 15:38   #1 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 09.12.2010
Beiträge: 79
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard Speicher Problem(?) führt zu Crash

Hallo Leute,

Bei meiner App wird in einer Activity (im Menü), einige Variablen definiert. In einer anderen Activity läuft ein Spiel ab. Wenn man im Spiel ist und und über der Taste Home die App in den Hintergrund setzt, wird nach einiger Zeit ältere Daten vom Speicher genommen. Anscheinend werden auch einige Variablen, die im Menü definiert werden vom Speicher genommen, wenn dieser zu voll wird.
Wenn man die App vom Hintergrund wieder aufruft, stürtzt die App ab, weil einige Variablen fehlen. Die App stürzt nicht ab, wenn man es sofort oder nach einigen wenigen Minuten wieder vom Hintergrund aufruft, sondern erst nach einiger Zeit. Bei einen Handy von einen Kumpel würde es nach etwa 15 Minuten abstürzen. Er hat viele Widgets und Hintergrund-Apps die automatisch Informationen anfordern. Daher denke ich, dass es ein Speicher Problem ist.

Liegt das Problem ganz woanders? Wie kann ich es am besten testen und debuggen?
xazen ist offline   Mit Zitat antworten
Alt 08.06.2011, 16:58   #2 (permalink)
Android Guru

Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus

Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
Standard AW: Speicher Problem(?) führt zu Crash

Logcat wäre ein Anfang...
the_alien ist offline   Mit Zitat antworten
Alt 08.06.2011, 17:03   #3 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 09.12.2010
Beiträge: 79
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard AW: Speicher Problem(?) führt zu Crash

In der eigentlichen Activity, wo das Spiel abläuft, kommt es zu einen NullPointerException.

Die Stelle, wo es abstürtzt ist ein if-Satz
Code:
if(ActivityOne.TEST){
//tu was
}
Kurz davor wird eine Klasse, die von Application erbt, aufgerufen. Darin befinden sich aber nur Codeschnipsel für OpenFeint. Die Activity, wo die Variablen initialisiert werden, wird nicht aufgerufen.
xazen ist offline   Mit Zitat antworten
Alt 08.06.2011, 17:13   #4 (permalink)
Android Guru

Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus

Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
Standard AW: Speicher Problem(?) führt zu Crash

ActivityOne ist wohl die erste Activity? Und TEST ist vom Typ Boolean?
Warum übergibst du diese variable nicht einfach im Intent? Oder speicherst sie in einer SharedPrefs? Scheinbar musst du sie ja auch zum Starten des Spiels haben. Oder du definierst ActivityOne als Launcher, dann wird bei einem Neustart diese aufgerufen.
the_alien ist offline   Mit Zitat antworten
Alt 08.06.2011, 17:27   #5 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 09.12.2010
Beiträge: 79
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard AW: Speicher Problem(?) führt zu Crash

Genau.

Ich habe einige final Variblen, die ich dazu benutze, verschiedene Versionen der App auszuspielen. Sollten solche Variablen allgemein in der Launcher gespeichert werden ? Es gibt noch weitere Variablen, die in einer anderen Klasse gespeichert sind. Diese speichern die Spieleinstellungen. Also müsste ich alle Variablen an einer anderen Stelle initialisieren ?

Wie würde ich dann die alten Werte beibehalten?
xazen ist offline   Mit Zitat antworten
Alt 08.06.2011, 20:05   #6 (permalink)
Android Guru

Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus

Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
Standard AW: Speicher Problem(?) führt zu Crash

Sind die Variablen Konstanten? Also sowas:
final int TEST = 1;

Wenn ja, dann solltest du sie static final machen:
static final int TEST = 1;
the_alien ist offline   Mit Zitat antworten
Alt 08.06.2011, 20:25   #7 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 09.12.2010
Beiträge: 79
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard AW: Speicher Problem(?) führt zu Crash

Die sind final static.
xazen ist offline   Mit Zitat antworten
Alt 08.06.2011, 21:03   #8 (permalink)
Android Guru

Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus

Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
Standard AW: Speicher Problem(?) führt zu Crash

Dann kann es keine NullPointerException an der Stelle geben
the_alien ist offline   Mit Zitat antworten
Alt 09.06.2011, 09:15   #9 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 09.12.2010
Beiträge: 79
Abgegebene Danke: 3
Erhielt 0 Danke für 0 Beiträge
Standard AW: Speicher Problem(?) führt zu Crash

Aus dem Grunde vermute ich ja dass es vom Speicher genommen wurde. Wenn man die App schnell wieder aufgenommen wird, dann funktioniert es einwandfrei. Es stürtzt wirklich nur dann ab, wenn man eine längere Zeit wartet. Ich würde mich wundern, wenn Android OS es wirklich vom Speicher nehmen würde, aber mir fällt keine andere Erklärung dafür ein. Ich versuche nochmal das Problem darzustellen:

OpenFeintApp extends Application:
Wird auch bei Wiederaufnahme vorher gestartet
MenuActivity extends Activity:
mehrere final static Variablen
weitere Variablen, um Einstellungen zu speichern
wird vor Wiederaufnahme nicht aufgerufen - wenn man die App neu startet muss man natürlich am Menü vorbei um ins Spiel zu kommen.
Game extends Activity:
Stürtzt nicht ab bei schneller Wiederaufnahme der App (bei meinen neuen Samsung Galaxy S2 ohne automatische Aktualisierungen stürtzt es nie ab - jedenfalls noch nicht vorgekommen)
Stürtzt ab, wenn man längere Zeit wartet (beim Samsung Galaxy S, worauf viele Sachen automatisch abgerufen werden)

Und Log gibt einen NullPointerException bei so einer Zeile:
if (MenuActivity.FINAL_STATIC_VARIABLE)
doSomething();
xazen ist offline   Mit Zitat antworten
Alt 09.06.2011, 09:31   #10 (permalink)
Android Guru

Modell: T-Mobile G1, Nexus One, Samsung Galaxy Tab 10.1, Samsung Galaxy Nexus

Registriert seit: 04.05.2009
Beiträge: 1.599
Abgegebene Danke: 128
Erhielt 210 Danke für 193 Beiträge
Standard AW: Speicher Problem(?) führt zu Crash

Also entweder es ist ein richtig übler Bug im Classloader der VM, die Variable ist nicht final static und direkt initialisiert oder es ist die falsche Zeile.
the_alien ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Speicher-Problem ErTeX Motorola Milestone XT720 Forum 27 31.03.2011 16:55
Problem: Speicher stefaniee HTC Wildfire Forum 2 26.02.2011 09:27
Kontakte verknüpfen führt zu Problem keiyuu HTC Desire Forum 3 01.08.2010 18:07
W-Lan Problem - Crash MartN Motorola Milestone Forum 0 09.04.2010 20:02
Speicher problem!!! markus90 T-Mobile G1 Forum 17 24.03.2009 13:36




Du liest gerade: "Speicher Problem(?) führt zu Crash" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.