• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

C:Geo als Geocaching App Stürzt immer ab

Laugi

Geonewbie
Hallo
Seit ich mir ein Android Telefon zugelegt habe nutze ich C:Geo als Geocaching App. Bis vor ein paar Tagen hat es auch noch super funktioniert.
Jetzt habe ich folgendes Problem: Es startet zwar aber wenn ich auf Livekarte oder eine andere Schaltfläche gehe hängt es sich auf und nach ein paar Sekunden bootet mein Handy neu.
Ich habe es auch schon komplett neu installiert, andere Karte gewählt aber es funktioniert nicht. Was mich stutzig macht vor ein paar Tagen hat es einwandfrei funktioniert. Updates habe ich auch keine gemacht.
Hat jemand ein ähnliches Problem oder weiß eine Lösung?
Danke
Greetz
 

ra_sch

Geocacher
Hallo,

um der Sache nachgehen zu können bräuchten wir:
- Handy modell und Android version
- c:geo version
Da sich dein Handy komplett neu startet, klingt das aber eher nach einem Problem mit dem Handy (oder der SDKarte). Da lassen isch mit den initialen Informationen vielleicht noch weitere Hinweise geben.

Gruß
ra_sch
 
OP
L

Laugi

Geonewbie
Hallo

Handy: Sony Xperia S
Android: 4.1.2
C:Geo: 2014.04.19

Habe das schon alles probiert also auf SD Karte stürzt ab, interner Speicher stürzt ab. Vielleicht noch was benutze auch die offizielle App von Groundspeak die funktioniert einwandfrei.
 

ra_sch

Geocacher
Es wäre gut, wenn du uns ein log zukommen lassen könntest (http://faq.cgeo.org/#1_11), wobei das bei deiner Android-Version möglicherweise nicht funktioniert.
Dann wäre ein Punkt, den Absturz an den Playstore zu melden und mit 'wie bei geoclub.de besprochen, für ra_sch' zu kennzeichnen (man kann da wohl eine Nachricht mit angeben). Vielleicht kommen wir damit weiter.
 

mikee

Geocacher
hallo,
ich hänge mich mal hier mit ran.
bin neulich von einem SG Duos auf ein THL W200s umgestiegen.
Auf dem Samsung hat c.geo perfekt funktioniert, betrieben mit den mapsforge-Karten.

Auf den THL kann ich die Live-Karte nur mit den Online-Google-Maps.
Sowohl mit den online-Mapnik als mit allen offline-Karten stürzt die Live-Karte ab.
Ich lande immer wieder im normalen "Startbildschirm" von c.geo.
Wie ein Komplett-Absturz sieht es nicht aus, wobei das bei der Schnelligkeit des Geräts auch sein könnte.

Hab die offline-Karten sowohl von SD aus probiert (64 GB) und auch vom internen Speicher.

Wie bekomme ich das wieder hin ?

achja, habe es sowohl mit der aktuellen Version aus dem PlayStore probiert als auch mit dem Vorgänger aus einer TB-Sicherung vom Duos.

mikee
 

mikee

Geocacher
Das kann nicht sein!
Das THL hat 1 GB, das Duos hatte nur 786 MB.
Und auf einem Star S9500 mit 1GB läuft es auch OK.

Mikee
 

SammysHP

Moderator
Teammitglied
Wie viel Speicher das Gerät insgesamt hat, spielt keine Rolle. Wichtig ist, wie viel ein Prozess davon nutzen darf. Und bei dieser geringen Größe (ja 1 GB ist heutzutage etwas wenig) dürfte dieser Wert recht gering sein. Außerdem ist die Displaygröße auch von Bedeutung, denn je größer das Display ist, desto größer ist die angezeigte Karte.

SG Duos: 800 x 480 = 384.000
Star S9500: 854 x 480 = 409.920
THL W200s: 1280 x 720 = 921.600

Das THL hat also mehr als doppelt so viele Pixel wie die beiden anderen, dementsprechend muss auch der RAM (bzw. der für den Prozess zur Verfügung stehende Speicher) mindestens doppelt so groß sein.
 

mikee

Geocacher
Danke für die Mathematik ;)
Aber andere Karten-Apps funktionieren wunderbar mit osm-Karten.
Warum "verbrät" das c.geo da mehr :(

Mikee
 

SammysHP

Moderator
Teammitglied
Weil c:geo neben den Karten auch noch viele andere Daten (z.B. deine Caches) im Speicher behalten muss. Wenn Daten vom Server abgerufen werden, verbraucht es besonders viel.
 

mikee

Geocacher
als (ehemaliger) Skinner für Medion-Navis kenne ich das Problem mit dem Speicherverbrauch für Kartendaten schon. Aber dass 1 GB RAM nicht reichen ist schon traurig.
Jetzt verstehe ich im Nachhinein auch, warum das Duos immer so langsam wurde, wenn ich c.geo aktiv hatte.

Die App stürzt jetzt übrigens immer komplett ab, nicht nur die Live-Karte. Zu erkennen am neuen warten auf das Login. Im Querformat wird die Karte sogar komplett aufgebaut vor dem Absturz, im normalen Hochformat schon nach etwa der Hälfte der Karte.

- Gibt es evtl. die Möglichkeit, mit einer älteren Version der App eher Erfolg zu haben ?
- Stelle mich auch gerne als Tester zur Verfügung für neue Beta-Versionen, um dieses Problem zu beheben. Es könnte auch eine spezielle Version sein mit etwas weniger Kartenfläche, wenn das helfen sollte (als "Light-Version) - sowas ging beim Skinnen aich für die älteren Navis.
- Gibt es evtl. noch irgendwelche Einstellungen, die den Speicherverbrauch minimieren?

falls es keine Lösung gibt, werde ich mich wohl oder übel nach Alternativen umsehen - schade.

mikee
 

Svensson

Geocacher
Seltsam. Ich nutze c:geo problemlos auf einen Huawei Ascend Y201 Pro (Android 4.0.3 und 512MB RAM). Lediglich das (Nach)Laden der OSM Freizeitkarte dauert manchmal ein paar Augenblicke.
 

SammysHP

Moderator
Teammitglied
Wie schon gesagt: Es ist nicht wichtig, wie viel RAM das Handy insgesamt hat, sondern wie viel jedem Prozess zur Verfügung steht. Einige ältere Modelle erlauben nur 24 MB, viele 32 MB. Das Nexus 4 erlaubt 48 MB. Diesen Wert kann man bei einigen Custom ROMs als Benutzer verändern, mit dem Nachteil, dass nicht mehr so viele Apps parallel laufen können.

Das Problem bei c:geo ist, dass die Mapsforge-Bibliothek für die Karte sehr viel Speicher braucht. In der nächsten Version von Mapsforge ist das hoffentlich besser. Zum anderen braucht c:geo durch die große Menge von Daten viel Speicher, was sich schlagartig erhöht, wenn ein Zugriff auf den Server stattfindet.

Beispiel Live-Map: Zum einen der Speicher von Mapsforge, das ist schon rund ein Drittel bis die Hälfte des zur Verfügung stehenden Speichers. Dann wird die HTML-Seite der gc.com-Live-Map geladen und im RAM in die Einzelteile zerlegt. Das braucht mehr Speicher, als der HTML-Code als Text verbrauchen würde. Dann werden mehrere parallele Anfragen gestellt, um das Cache-Overlay vom Server zu laden. Das sind PNGs, aus denen wir anschließend den Cache-Typ herauslesen können. Bilder – egal welches Format – können nur verarbeitet werden, wenn sie als Bitmap im RAM gespeichert werden. PNGs haben vier Kanäle (wegen Transparenz) und somit verbraucht jedes Pixel 4*8 bit. Nehmen wir als Beispiel für die Bildschirmgröße 1280 x 720 Pixel. Entpackt ist das PNG also etwa 3,5 MB groß. Die Grenzen gehen aber über den Bildschirm hinaus, auch kann die Auflösung höher sein als beim Bildschirm. Rechnen wir also mit 5 MB. Um damit zu arbeiten, verwenden die Algorithmen eventuell noch mehr Speicher. Jetzt kommt die App "selbst", also die ganzen Sachen für Oberfläche, Datenbank, Cache-Verwaltung etc. Damit sind wir locker über 30-40 MB Speicher und das ist für viele Geräte zu viel. Wenn der Speicher voll ist, kann die App nichts mehr machen, außer gezwungen zu werden, sich zu beenden.

Das also als grobe Zusammenfassung. Was kann man dagegen machen? Zum einen darf Mapsforge nicht so viel Speicher verbrauchen für die Karte. Darauf haben wir leider keinen Einfluss. Einige andere App-Entwickler (z.B. für Locus) haben die Bibliothek extrem stark angepasst, diese Änderungen können wir aber nicht übernehmen, würde nicht mit c:geo funktionieren. Wir müssen also warten, bis die Mapsforge-Entwickler den Speicherverbrauch optimiert haben.
Zum anderen könnten wir die API von gc.com nutzen (die anderen Services habe ich bisher weggelassen, da wir dort schon die API nutzen und deswegen weniger Speicher brauchen). Allerdings konnten wir uns mit Groundspeak noch nie über die Nutzungsbedingungen einigen und zum anderen kann man seit einem Jahr sowieso keine neuen Zugänge beantragen. Auch hieran können wir also nichts ändern.
Bleibt noch der interne Umgang mit den Daten und da ließe sich viel optimieren. Momentan behalten wir sehr viele Objekte unnötig im Speicher, hauptsächlich um schneller drauf zugreifen zu können. Das war nötig, da der Datenbankzugriff so langsam war, dass man bei einer Liste mit 1000 Caches rund 5-10 Sekunden warten musste, bis sie geladen wurde. Unser Datenhandling komplett umzustellen ist allerdings sehr viel Aufwand. Wir arbeiten schon seit Jahren dran und haben praktisch kaum etwas in der Zeit geschafft. Das sind so Sachen, wo ich am Überlegen bin, ob es nicht einfacher wäre, von Grund auf neu anzufangen. Aber dann würde es mindestens 1-2 Jahre kein c:geo mehr geben, auch nicht schön. Deshalb probieren wir, Stück für Stück Ordnung in das Chaos zu bringen.

Beta-Tester suchen wir nicht explizit, aber wir nehmen gerne Fehlermeldungen entgegen (bevorzugt auf GitHub). Jede Nacht wird automatisch eine sogenannte Nightly-Version erstellt, welche alle Änderungen des Tages beinhaltet. Die läuft fast immer besser als die Release-Version im Play Store, kann manchmal aber auch viele neue Fehler enthalten. Man sollte auf jeden Fall regelmäßig seine Datenbank ändern und es kann passieren, dass man nicht mehr auf eine ältere Version zurückgehen kann.
 

mikee

Geocacher
Danke für die ausführliche Erläuterung. Mir ist schon bewusst, wieviel Arbeit in dem ganzen Projekt steckt. Vielen Dank dafür !!!

Prinzipiell leuchtet die Erklärung ein. Aber, wenn man sich den aktuellen Trend der Geräte so anschaut, entwickelt sich 5 Zoll zum (Mindest-)Standard. und dort ist dann die HD-Auflösung auch schon verbreitet. es gibt sogar viele Geräte mit nur 512 MB RAM (dann aber nicht HD).
Schon eigenartig, dass ich bisher der einzig Betroffene zu sein scheine.

Habt ihr schon Infos, wann bei mapsforge mit optimierten Karten zu rechnen ist ?

Ich nutze ja c.geo ohne eine Verwaltung meiner (gefundenen) Caches. ich hole mir eigentlich mehr oder weniger online die erforderlichen Daten, nur manchmal lade ich die Caches eines bestimmten Bereiches vorher im wlan auf das Gerät.
Wo könnte ich noch optimieren ? (die google-Karte ist zum cachen vollkommen ungeeignet)
Bzw. wie stehen die Chancen, dass eurerseits Optimierungen am System erfolgen ?

danke
mikee
 

SammysHP

Moderator
Teammitglied
Mapsforge arbeitet schon seit zwei Jahren daran, zwischendurch ist nichts passiert. In den letzten Wochen hat sich aber was getan. Keine Ahnung, ob die bald eine neue Version rausbringen.

Die Live-Map braucht recht viele Daten. Du könntest bei der Aktualisierungsstrategie "Schnellste" einstellen, dann wird der Cache-Typ für neue Caches aber nicht mehr angezeigt.

Wir haben in den letzten beiden Jahren fast nichts anderes gemacht, als die Geschwindigkeit und den Speicherverbrauch von c:geo zu optimieren. ;) Leider hat man entweder das eine oder das andere, beides ist schwierig. Das pendelt immer hin und her und so richtig voran kommen wir nicht. Wenn sich ein Entwickler findet, der meint, er habe kein Problem damit, über 20.000 Zeilen Code zu ändern, damit die Daten effizienter geladen werden können, kann sich das natürlich ändern. Aber so einer muss erstmal gefunden werden. :D (Ist schließlich alles in unserer Freizeit.)
 

mikee

Geocacher
"... Du könntest bei der Aktualisierungsstrategie "Schnellste" einstellen ..."

wo finde ich diese Option ?
(hab vermutlich sowas rotes auf den Augen ...)

mikee
 

mikee

Geocacher
ahja, musste erst auf die google-Karte umstellen, um zu diesen Optionen zu gelangen.
hat aber leider nix geholfen - schade.

mikee
 
Oben