1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Tom299, 03.02.2012 #1
    Tom299

    Tom299 Threadstarter Android-Experte

    Hallo,

    mir ist gerade kein besserer Titel eingefallen, aber mich würde es mal interessieren, ob Android auch eine statische Klasse beenden (destroyen) kann?

    Bei einer Activity ist es klar, wenn sie im Hintergrund liegt, dann gehts in onPause und evtl. auch in onDestroy (z.B. Speichermangel).

    Ich habe eine statische Klasse, in der ich z.B. den eingeloggten Benutzer vorhalte und noch andere Einstellungen. Diese statische Klasse ist aber keine Activity, sondern einfach ne Standard-Java Klasse (public class). Kann es sein, daß Android auch diese statische Klasse bei Speichermangel beendet oder kann das nicht vorkommen?

    Ein Tester hatte nämlich gestern einen Absturz der Anwendung und ich konnte sehen, daß es beim Zugriff auf eine statische Methode passiert ist. Aber eigentlich sollte dieser Wert immer gefüllt sein. Kann mir deshalb nur erklären, daß die Klasse beendet wurde?


    Gruß,
    Tom
     
  2. TheDarkRose, 03.02.2012 #2
    TheDarkRose

    TheDarkRose Gewerbliches Mitglied

    Wo wird die Klasse referenziert?
     
  3. Kranki, 03.02.2012 #3
    Kranki

    Kranki Ehrenmitglied

    Unter Android hat jede App ihre eigene VM. Ich würde erwarten, dass diese beim Beenden der App ebenfalls komplett beendet wird.
     
  4. Tom299, 03.02.2012 #4
    Tom299

    Tom299 Threadstarter Android-Experte

    Hmm, da alle Methoden und Attribute statisch sind, gibt es auch keinen Konstruktor. Und zugegriffen wird eigentlich von nahezu allen Activities, die ich habe.

    Wäre es sinnvoll, nen Singleton draus zu machen?
     
  5. Tom299, 03.02.2012 #5
    Tom299

    Tom299 Threadstarter Android-Experte

    - java - android singleton vs static methods - Stack Overflow
    - Android : Static variable null on low memory - Stack Overflow

    Sieht dann wohl so aus, als würde genau das bei mir Eintreten, die statischen Werte werden gelöscht / null und später greife ich wieder darauf zu.
    Die Frage ist jetzt, muß ich in JEDER Activity beim onPause meine statischen Werte in den SharedPrefs speichern? Oder gibts nen besseren Ansatz, wo man dies machen könnte / sollte?
     
  6. Kranki, 03.02.2012 #6
    Kranki

    Kranki Ehrenmitglied

    Das kommt jetzt drauf an, was das für Daten sind. Wenn du die rein aus der Klasse heraus ohne weitere Informationen statisch initialisieren kannst dann solltest du das sowieso machen. Dann werden die auch wieder befüllt, wenn die Klasse wieder geladen wird.
    Wenn du Informationen aus der laufenden Activity brauchst, dann musst du die natürlich sichern.
     
  7. Tom299, 03.02.2012 #7
    Tom299

    Tom299 Threadstarter Android-Experte

    Bis auf den eingeloggten User sind alle Daten innerhalb der statischen Klasse initialisiert, die sind auch kein Problem. Nur beim User knallts ;-)

    Bin jetzt auch dran, den Benutzer in den SharedPrefs zu speichern. Problem ist aber, daß mir der Context in der statischen Klasse fehlt. Ohne Context komm ich nicht auf die SharedPrefs. Ich möchte aber, daß die statische Klasse selbst den User aus den SharedPrefs lesen kann und nicht über eine Activity mittels Context ... Dafür hab ich momentan noch keine Lösung gefunden, vielleicht fällt mir ja noch was ein ...
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Automatisierung Android TV Box Android App Entwicklung Montag um 21:46 Uhr
Android App mit Raspberry Pi über Bluetooth verbinden Android App Entwicklung Samstag um 14:20 Uhr
Integer-Wert übertragen auf zweite Activity Android App Entwicklung Freitag um 15:59 Uhr
[OFFEN] Android Studio 4 Knöpfe nebeneinander Android App Entwicklung 17.10.2017
[OFFEN] Android app selber entwickeln mit Bluetooth Android App Entwicklung 13.10.2017
[Offen] Android Layout funktioniert nicht Android App Entwicklung 08.09.2017
[ERLEDIGT] LL zur Laufzeit erstellen, Abstand zwischen LL und LL möglich ? Android App Entwicklung 06.09.2017
[OFFEN] App schließt nach Öffnen sofort Android App Entwicklung 04.09.2017
[ERLEDIGT] Um einen Zusatz in einem Programm unter Android zu machen Android App Entwicklung 22.08.2017
Du betrachtest das Thema "Kann eine statische Klasse von Android beendet werden?" im Forum "Android App Entwicklung",