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

  • Antworten:35
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 38

23.07.2012, 13:44:29 via Website

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) 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)

Antworten
  • Forum-Beiträge: 38

23.07.2012, 14:03:27 via Website

Ich habe an dieser Stelle noch keine Logfunktion eingebaut, da ich noch nicht weiss, wo der Fehler auftritt (das mache ich dann noch wenn ich die Stelle gefunden habe..)
Wird das automatisch auf Betriebssystem-Ebene geloggt? Wie komme ich an das Log in meinem Smartphone?

Antworten
  • Forum-Beiträge: 38

23.07.2012, 14:31:15 via Website

In Eclipse kenne ich LogCat. Aber im Emulator habe ich meine App noch nicht stundenlang laufen lassen (könnte ich natürlich auch mal probieren..).
Danke für den Tipp mit LogCat als App für's Smartphone. Wusste nicht, dass es das gibt. Werde ich mir heute Abend herunterladen.
Ist das so aufgebaut, wie in Eclipse?

Antworten
  • Forum-Beiträge: 38

23.07.2012, 14:39:02 via Website

Von den Screeshots sieht die Logkonsole sehr ähnlich aus, wie unter Eclipse. Ich werd's heute Abend einfach mal ausprobieren!

Antworten
  • Forum-Beiträge: 38

23.07.2012, 22:19:20 via Website

Irgendwie funktioniert das bei mir nicht. Wenn ich LogCat öffne dann läuft ewig der Fortschitts-Kreis. Es kommt aber danach nix.
Habe schon versucht im Menü unter "Record" was aufzunehmen, aber dann wird nur eine leere Log-Datei abgespeichert...

Antworten
Gelöschter Account
  • Forum-Beiträge: 80

24.07.2012, 10:34:41 via Website

Du kannst auch das LogCat von Eclipse benutzen, wenn das Gerät mit adb verbunden ist

Antworten
  • Forum-Beiträge: 38

24.07.2012, 13:40:31 via Website

ja, mit Eclipse geht das schon, aber ich möchte das ja auch von unterwegs mitloggen können. Habe mein Smartphone nicht immer am Rechner angeschlossen und für "Debugging im täglichen Ablauf" wäre eine Log-App schon sehr hilfreich..

Antworten
  • Forum-Beiträge: 33.139

24.07.2012, 13:47:13 via App

Funkfeuer
ja, mit Eclipse geht das schon, aber ich möchte das ja auch von unterwegs mitloggen können. Habe mein Smartphone nicht immer am Rechner angeschlossen und für "Debugging im täglichen Ablauf" wäre eine Log-App schon sehr hilfreich..
Es gibt auch die App "Catlog" - probiere die mal aus...

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
  • Forum-Beiträge: 38

24.07.2012, 13:53:36 via Website

Catlog habe ich schon installiert, aber wenn ich es starte dann läuft ewig der Fortschitts-Kreis und Loggings werden keine angezeigt.

Habe gelesen, dass man im ServiceMode das Logging aktivieren muss. Wenn ich allerdings das Logging zulasse und mich dann erneut in den ServiceMode anmelde, dann ist das Logging wieder deaktiviert... Schätze, dass es daran liegt..?

Antworten
  • Forum-Beiträge: 38

24.07.2012, 17:06:51 via Website

Über Eclipse habe ich auch keinen Zugriff auf die Loggings.
In der LogCat-Konsole kommt die Meldung:

1Unable to open log device '/dev/log/main': No such file or directory

Antworten
  • Forum-Beiträge: 38

25.07.2012, 07:42:39 via Website

Nachdem ich jetzt endlich mein Logging aktivieren konnte habe ich auch die Fehlermeldung(en).
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:

Antworten
  • Forum-Beiträge: 38

25.07.2012, 11:07:02 via Website

@Harald Wilhelm:
Danke für den Hinweis - das wäre eine Erklärung.
Mein Gerät ist sicher nicht gut bestückt - ist das 99 Euro Huawei. Dass der Aufruf einer Internetseite allerdings schon zum Absturz der Anwendung führt ist unschön. Aber viel Apps habe ich eigentlich nicht darauf - eigentlich nur noch Qype, einen Staumelder und CatLog.. Der Rest was schon beim Kauf drauf.

Was auch komisch ist, dass zuerst meine Anwendung abgeschossen wird und dann erst die Low-Memory-Meldung kommt. Müsste es nicht eigentlich anders herum sein, oder?

Antworten
  • Forum-Beiträge: 38

26.07.2012, 07:42:23 via Website

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

Antworten
Gelöschter Account
  • Forum-Beiträge: 694

26.07.2012, 08:15:02 via Website

Dein Service läuft genauso wenig in einem eigenen Prozess wie auch nicht in einem eigenen Thread (ersteres müsstest Du im Manifest erzwingen, letzteres startest Du im Service bei Bedarf selbst - das machst Du ja offensichtlich).

Die Meldung (Low memory) bezieht sich nicht auf Deine App. Es ist nur ein Indikator dafür das der Speicher eng wird.

— geändert am 26.07.2012, 08:15:41

Antworten
  • Forum-Beiträge: 38

26.07.2012, 08:34:11 via Website

Ich habe eigentlich nur ein Problem damit, dass Android meine App abschiesst. Aber warum meine App - weil die App sich seit Stunden nicht im Fokus befindet?
Gibt es eine Möglichkeit das zu verhindern, dass Android meine App beendet?

Antworten

Empfohlene Artikel