Android App startet sehr langsam

  • Antworten:4
  • Bentwortet
Dominik Hartl
  • Forum-Beiträge: 44

07.03.2017, 09:32:32 via Website

Hallo Zusammen,

ich arbeite derzeit an einer App, die 5 Activities beinhaltet.
Bevor die App "richtig" startet wird ein Splashscreen angezeigt.
Wenn ich die App nun das erste mal nach einer längeren Zeit ausführe, kommt zuerst 20 Sekunden nur ein weißer bildschirm und dann erst der Splash screen. Danach kann ich die app schliessen und direkt neu ausführen und sie braucht nur 4 sekunden und kein weißer bildschirm erscheint.
Es wird bis jetzt nur eine Standort Permission abgefragt. Liegt es an der Permission abfrage?
Schöne Grüße
Dominik

Antworten
pepperonas
  • Forum-Beiträge: 434

07.03.2017, 22:27:57 via Website

Aus der Ferne ist das schwer zu sagen. Die Guidelines raten von Splash-Screens ab - und das hat seinen Grund.
Last-Known-Location ist hier das Stichwort um die Ladezeit bei einem Ortungsdienst zu verkürzen. An den Berechtigungen wird es nicht liegen, da diese ja schon (zuvor) freigegeben wurden, wenn ich dich richtig verstehe.
Generell sind Ortungsdienste immer mit einer gewissen Toleranz zu bewerten.. Je nach verfügbarem Provider (GSM, Wifi, GPS) unterscheiden sich Genauigkeit und die Dauer bis zum ersten Geo-Fix erheblich.

So gesehen ist die Antwort ganz einfach: Wenn du selbst dass Gefühl hast, dass das im Vergleich zu anderen Apps zu lange dauert, dann solltest du dich nochmal auf Optimierungssuche begeben - falls nicht... nicht :)

Open Source

Antworten
Dominik Hartl
  • Forum-Beiträge: 44

09.03.2017, 11:10:37 via Website

Was würdest du anstatt eines Splashscreens empfehlen, damit beim starten wenigstens nicht der weiße bildschirm angezeigt wird

Antworten
pepperonas
  • Forum-Beiträge: 434

10.03.2017, 21:08:38 via Website

Best practise ist laut Google direkt den Einstieg in die App zu gewährleisten. Sprich: das Layout wird sofort gerendert (falls das schon lange dauert hast du irgendwas "falsch" in deiner Planung und dann im Ablauf gemacht). Wenn dann nach wenigen Sekunden (unter 5) der Geo-Fix kommt, updatest du die Karte, oder je nach dem was du halt mit der Position des Nutzers machen willst.
https://play.google.com/store/apps/details?id=com.pepperonas.libredrive in dieser App habe ich es so gemacht, wie oben beschrieben.
Falls der Ablauf beim Laden in deiner App nicht gut gewählt ist, ist das (meist) kein allzu großes Problem. Oft lassen sich ganze Codepassagen mit wenigen Veränderungen in den Hintergrund auslagern. Das Stichwort lautet hier "Java concurrency". Daher wäre mein Tipp sich in dem Gebiet erst etwas schlau zu machen, anstatt das halbe Projekt zu zerpflücken.

— geändert am 10.03.2017, 21:09:21

Open Source

Dominik Hartl

Antworten
Dominik Hartl
  • Forum-Beiträge: 44

29.03.2017, 21:25:22 via Website

Hi Prepperonas,

vielen Dank für deine Hilfe, ich werde mich in dem Bereich mal schlau machen

Antworten