Hallo miteinander,
sicherlich kennt Ihr das: Gerade im dicksten Feierabendverkehr klinkt sich waze aus, findet kein Netz mehr und sorgt vielleicht sogar dafür, daß selbst das Telefonieren unmöglich wird. Zu allem Übel wird das Gerät heiß, weil es eine Menge Strom verbraucht. Ich kann hier einen Lösungsansatz vorschlagen, der das Problem vermindert, jedoch nicht ganz beseitigen kann (unabhängig vom Betriebssystem):
Zuerst einmal ein bißchen Theorie. Wenn man das Programm startet, wird geprüft, ob eine Internetverbindung besteht, danach leider nicht mehr. Wenn nun der Server von waze (woran wir hier nichts ändern können) zu stark ausgelastet ist oder aber wir uns in einem Gebiet mit schlechter oder gar ohne Netzwerkversorgung aufhalten, stört sich unser Programm erst einmal gar nicht daran und schickt fleißig weiter Anfragen an den Server.
Die Problematik besteht nun darin, daß der Server noch mehr ausgelastet ist und die Antworten noch länger auf sich warten lassen, oder aber die Resourcen des Gerätes (hier die sogenannten Sockets) aufgebraucht werden, weil die alten nicht freigegeben werden und einfach immer neue Sockets eröffnet werden. Dadurch steigt die Rechenleistung, der Stromverbrauch und damit auch die Temperatur. Ich hatte hier schon den Fall, daß ich "keinen Service" mehr hatte und das nur durch Herausnehmen des Akkus wieder beseitigen konnte.
Was wir tun können:
1.) Wenn wir ganz sicher gehen wollen, deinstallieren wir waze komplett und löschen auch manuell das Programmverzeichnis, um sicherzugehen, daß evtl. defekte Dateien nicht in die neue Installation wandern. Selbstverständlich sorgen wir dafür, die Zugangsdaten für waze zur Hand zu haben.
2.) Wir installieren waze neu auf SD-Karte, Android-User verschieben es entsprechend selbst und starten es erst danach zur neuen Ersteinrichtung. Wir fahren aber noch nicht, sondern passen erst ein paar Werte in der Datei "preferences" an, wobei wir uns die Ursprungswerte notieren. Alles, was ich hier angebe, entlastet auf alle Fälle das Gerät, ist aber beispielhaft. Ich benutze das HUAWEI IdeosX3.
3.) Als Handwerkszeug benötigen wir auf dem Gerät einen Texteditor und einen Dateimanager. Ich habe mir den Jota Text Editor besorgt.
4.) Auf der SD-Karte suchen wir uns mit dem Editor die Datei "preferences" im Programmverzeichnis. (z.B.: /mnt/sdcard/waze/preferences auf Android) Die Datei sieht immer gleich aus. Über die Suchfunktion suchen wir "Realtime" und springen als Erstes zum Wert Realtime.Comm Check period. Dieser Wert bestimmt den Zeitintervall, in dem der Anschluß (Com-Port) überprüft wird. Ich habe ihn auf 3 erhöht. Wichtig: Bitte statt eines Kommas immer den Punkt benutzen. Nun kommt Realtime.Refresh rate an die Reihe. Ich habe hier 5 Minuten gewählt. Die Realtime.Summary Refresh rate habe ich auf 1.5 geändert. Realtime.Hi-Res Refresh rate hat nun den Wert 1.0.
5.) Wir überzeugen uns, daß sonstige Synchronisationsdienste (Auto-Sync, Wetter-App usw.) deaktiviert sind, zumindest während der Fahrt. Ebenso die Softwareaktualisierung.
Das war es im Wesentlichen.
So lange es keine Serverüberlastung oder längere Strecken mit sehr schlechter Netzversorgung gibt, läuft alles prima. Nach längeren Touren (oder auch vor solchen) empfiehlt es sich, das Gerät auszuschalten und den Akku für einen kurzen Moment zu entnehmen. Nur dadurch werden die eventuell noch vorhandenen ungültigen Sockets (s.o.) aus dem Speicher entfernt.
Von Zeit zu Zeit empfiehlt es sich auch, das Verzeichnis für verlorengegangene Dateien zu kontrollieren (und zu leeren). Bei Android heißt es LOST.DIR und befindet sich wie unser Programm auf der SD-Karte.
Was man sonst noch tun kann:
Die Datei "session" speichert, wie der Name schon sagt, die Daten der letzten Sitzung, um den Start zu beschleunigen. Hier kann der versierte Nutzer nach Fehlern suchen oder bei hartnäckigen Abstürzen diese Datei gefahrlos löschen.
"preferences~" ist eine Sicherungsdatei, also eine "*.bak". History enthält nur den Verlauf.
"waze_log.txt" ist eine sehr ausführliche Fundgrube für die Fehlersuche. So können wir die Batterietemperatur genauso herauslesen, wie ein gescheiterter Versuch, einen Socket zu erstellen oder aus einer Datei zu lesen oder hineinzuschreiben. Das Ganze ist mit Datum und Uhrzeit versehen, so daß wir die Meldungen gut dem Zeitpunkt zuordnen können. Ich lasse deshalb die Datei nicht zu groß werden. Spätestens bei Einträgen, die darauf hindeuten, daß aus einer wichtigen Datei nicht gelesen werden konnte, sollten wir eine komplette Neuinstallation w.o. beschrieben, vornehmen.
Was die Programmierer machen sollten:
Es sollte vor jeder Serveranfrage erst einmal geprüft werden, ob eine Internetverbindung besteht und in welcher Qualität. Weiter sollte der Server den Clients seine Auslastung mitteilen, damit die Anfragen auf ein akzeptables Maß zurückgehen und zwischen wichtigen und unwichtigen Informationen unterscheiden. Befindet sich etwa schon Kartenmaterial auf dem Gerät, muß nicht unbedingt bei hoher Auslastung nachgeladen werden. Wurde die Route schon einmal berechnet und befindet sich auf dem Gerät, gilt das Gleiche.
Eine Info auf dem Display ist dann natürlich nützlich, damit der Nutzer weiß wo es eine Einschränkung gibt.
Was sonst noch auffiel: Network.Connection Pool Size enthielt einen Wert mit vielen Sonderzeichen. Als Standardeinstellung ist da kein Wert vorhanden.
Dann viel Spaß beim Probieren.