1. Gewinne jetzt ein UMiDIGI C Note - alle Informationen 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
[OFFEN] Android Spiel Android App Entwicklung Heute um 09:34 Uhr
[OFFEN] Android Studio Ram voll nach 5h arbeit Android App Entwicklung 15.06.2017
[OFFEN] Android Studio - Code Style Android App Entwicklung 08.06.2017
[OFFEN] SharedPreferences und ViewPager, unique key Android App Entwicklung 06.06.2017
[OFFEN] Android Icon Pack dynamisch erstellen Android App Entwicklung 05.06.2017
[ERLEDIGT] Android 7 nougat merkwürdiges Verhalten URL HttpURLConnection %27 Android App Entwicklung 31.05.2017
[OFFEN] Android Studio - Apk-Generierung dauert sehr lange Android App Entwicklung 26.05.2017
[ERLEDIGT] Eine Klasse um das aufrufen anderer Intents zu regeln Android App Entwicklung 24.05.2017
[OFFEN] git-Problem in Android Studio (Windows) Android App Entwicklung 24.05.2017
[ERLEDIGT] *.viivo kann keiner App zugeordnet werden - MANIFEST.XML ? Android App Entwicklung 19.05.2017
Du betrachtest das Thema "Kann eine statische Klasse von Android beendet werden?" im Forum "Android App Entwicklung",