1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

App stürzt ab, wenn im Browser Internetseite geladen wird

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Funkfeuer, 23.07.2012.

  1. Funkfeuer, 23.07.2012 #1
    Funkfeuer

    Funkfeuer Threadstarter Neuer Benutzer

    Beiträge:
    24
    Erhaltene Danke:
    1
    Registriert seit:
    19.09.2011
    Hallo,

    ich habe bei meiner App ein komisches Verhalten festgestellt.

    Meine App besteht aus einem Service, der jede Minute (Timer) zwei Webservices aufruft.
    Das funktioniert alles wunderbar - stundenlang, egal ob ich meine App im Vordergund/Hintergrund halte oder andere Apps starte.
    Der Service läuft immer.

    Wenn ich aber ein paar Stunden nix mit dem Smartphone gemacht habe und dann mit dem Browser (z. B. GMX-Startseite) aufrufe und während des Ladens der Website zu meiner App wechsle, stürzt meine App unschön ab (Fehlermeldung: Tut uns Leid...).

    Wenn ich anschliessend meine App wieder neu starte und nochmals GMX im Browser aufrufe, stürzt die App nicht mehr ab.

    Hat jemand eine Idee, woran das liegen könnte. Für mich hört sich das so an, als ob es am Lebenszyklus der App liegt (onPause oder onStop)..?
    Aber in der Activity habe ich beide Methoden nicht implementiert, d. h. die Android-Standardmethoden werden aufgerufen..

    cu
    Chris
    (Android 2.3)
     
  2. Kardroid, 23.07.2012 #2
    Kardroid

    Kardroid Android-Experte

    Beiträge:
    482
    Erhaltene Danke:
    80
    Registriert seit:
    03.10.2009
    Hi,

    schau doch einfach im Log nach, warum die App abstürzt.

    Falls du auf einem Endgerät testest, dann benutzt den Logcollector aus dem Market. Habe ich auch drauf.

    Viele Grüße
     
  3. Funkfeuer, 25.07.2012 #3
    Funkfeuer

    Funkfeuer Threadstarter Neuer Benutzer

    Beiträge:
    24
    Erhaltene Danke:
    1
    Registriert seit:
    19.09.2011
    Ich kann aber leider nur erkennen, dass meine test-Anwendung (test.test1) "gestorben" (died) ist und versucht wird den zur Anwendung gehörenden Hintergrundservice (AutoSyncService) wieder zu starten.
    Den eigentlichen Grund, warum meine Anwendung aber "gestorben" ist, kann ich nicht erkennen.
    Habe wieder mal im Browser die GMX-Startseite aufgerufen, als es passierte...

    Vielleicht könnt ihr mehr erkennen:

    [​IMG]
     
  4. Funkfeuer, 26.07.2012 #4
    Funkfeuer

    Funkfeuer Threadstarter Neuer Benutzer

    Beiträge:
    24
    Erhaltene Danke:
    1
    Registriert seit:
    19.09.2011
    Wie es aussieht liegt es daran, dass Android meine App - aus Ressourcengründen - abschiesst..
    Wie kann ich verhindern, dass Android genau den Prozess meiner App abschiesst?
    An Inaktivität meiner App kann es eigentlich nicht liegen, denn es läuft ja der Background-Thread für den Service, der jede Minute eine Verbindung ins Internet aufbaut.
    Kann man die Priorität meines Prozesses erhöhen bzw. hilft das überhaupt was..?!

    cu
    Chris
     
  5. Funkfeuer, 02.08.2012 #5
    Funkfeuer

    Funkfeuer Threadstarter Neuer Benutzer

    Beiträge:
    24
    Erhaltene Danke:
    1
    Registriert seit:
    19.09.2011
    Der Vollständigkeit halber - und für alle die das gleiche Problem haben wie ich - eine Lösungsmöglichkeit.

    Der Service muss als Foreground-Service definiert werden: Service | Android Developers


    Mein beschriebenes Problem mit dem "Aufruf der GMX-Startseite" wird hier auch angesprochen:
    Eine (für mich schöne) "Nebenwirkung" hat das der Foreground-Service:
    Nachdem ein Service immer im Hauptprozess einer App läuft, erhält somit nicht nur der Service, sondern gleich die ganze App den Zustand "Foreground".
    Es wird damit - auch die App - nicht mehr von Android abgeschossen. Das bezieht sich auch auf weitere "normale" Services, die in der App laufen (ob das Sinn macht ist ein anderes Thema..?). Ab dem Zeitpunkt, ab dem in einer App ein Foreground-Service läuft, werden auch "normale" Services der App nicht mehr beendet :)

    cu
    Chris
     

Diese Seite empfehlen