Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   App bleibt beim Re-Start lange eingefroren (https://www.delphipraxis.net/205117-app-bleibt-beim-re-start-lange-eingefroren.html)

TurboMagic 6. Aug 2020 11:16

AW: App bleibt beim Re-Start lange eingefroren
 
1. I glaube es ging hier um iOS? Dann wären Android 10 Änderungen unwichtig.

2. Am SQLite support von FireDAC hat sich in 10.4 ein bischen was getan von wegen
statisch und dynamisch einbinden oder so. Keine Ahnung ob das hier einen Einfluss
hat. Wäre aber wohl zu prüfen.

Grüße

TurboMagic

Rollo62 6. Aug 2020 13:16

AW: App bleibt beim Re-Start lange eingefroren
 
Ja, hatte ich ganz aus den Augen verloren :oops:

Das hier ist auch wieder Android, könnte aber auch auf iOS Auswirkungen haben.

Delphi-Quellcode:
  , FireDAC.Phys.SQLiteWrapper.Stat //23.06.20 added to prevent Rx1040 link error
  // https://stackoverflow.com/questions/62086198/cannot-load-sqlite-libraries-in-android-with-delphi-10-4

braunbaer 7. Aug 2020 06:08

AW: App bleibt beim Re-Start lange eingefroren
 
Zitat:

Zitat von Rollo62 (Beitrag 1471283)
Delphi-Quellcode:
  , FireDAC.Phys.SQLiteWrapper.Stat //23.06.20 added to prevent Rx1040 link error
  // https://stackoverflow.com/questions/62086198/cannot-load-sqlite-libraries-in-android-with-delphi-10-4

Das hatte ich schon integriert.

braunbaer 8. Jan 2021 07:01

AW: App bleibt beim Re-Start lange eingefroren
 
Hallo Zusammen,

ich rolle das Thema nochmals auf, da ich mir nicht vorstellen kann, dass nur ich diese Probleme habe.
Es geht nur um iOS! Bei Android und Windows ist alle korrekt!!

Mit dem IFMXApplicationEventService frage ich den Zustand der App ab.
Das Ereignis: BecameActive kommt da teilweise bis zu 5 Sekunden verzögert.
Danach wird dann weitergemacht und der Synchornisierungsthread mit meinem Cloudserver gestartet.
Dies kann dann bis zu 30 Sekunden dauern, bis dieser anläuft.
Danach läuft alles wieder wie gewohnt.
Normal dauert dies alles nur ein paar Millisekunden!
Auch ein weiteres BecameActive kann dann problemlos sein, das übernächste aber vielleicht schon wieder nicht.

Natürlich habe ich zu Testzwecken eine Jungfräuliche einfache App gebaut und auch dort passiert es genau idient.
Nur die Verzögerungen sind etwas kürzer.

Weiter oben im Thread habe ich von SQLite-Problemen geschrieben. Bin jetzt aber ziemlich sicher, dass es nicht mit der DB zusammenhängt. Habe extra mal in der Test-App IB-ToGo umgebaut und da war das Problem idient!

Die App bleibt in dieser Zeit eingefroren und der User geht von einem Absturz der App aus - das kommt nicht gut an!

Ich habe 3 Apps bei meinen Kunden im Einsatz.
Das Problem trat bei allen Apps auf, nachdem ich diese mit Delphi 10.4 kompiliert habe.
Ich weiss mir leider keinen Rat mehr - Hat mir jemand einen Tipp...

Rollo62 8. Jan 2021 07:22

AW: App bleibt beim Re-Start lange eingefroren
 
Also ich habe festgestellt das eine App im Development(DEBUG) viel zäher, langsamer und deutlich unterschiedlicher sein kann
als die entsprechende AppStore (RELEASE) Version.
Testest Du mit DEBUG oder RELEASE ?

Trotzdem bleibt es auch im DEBUG nicht unbedingt hängen, das ist schon ungewöhnlich.

Legst Du Teile der App schlafen (Timer, Threads, etc.) bei WillBecomeBackground, und
startest sie wieder bei WillBecomeForground/BecameActive ?
Vielleicht läuft da etwas schief.

Ich schalte im Background möglichst Alles ab, es kann eh nicht benutzt werden.

braunbaer 8. Jan 2021 07:57

AW: App bleibt beim Re-Start lange eingefroren
 
Zitat:

Zitat von Rollo62 (Beitrag 1480531)
Also ich habe festgestellt das eine App im Development(DEBUG) viel zäher, langsamer und deutlich unterschiedlicher sein kann
als die entsprechende AppStore (RELEASE) Version.
Testest Du mit DEBUG oder RELEASE ?

Trotzdem bleibt es auch im DEBUG nicht unbedingt hängen, das ist schon ungewöhnlich.

Legst Du Teile der App schlafen (Timer, Threads, etc.) bei WillBecomeBackground, und
startest sie wieder bei WillBecomeForground/BecameActive ?
Vielleicht läuft da etwas schief.

Ich schalte im Background möglichst Alles ab, es kann eh nicht benutzt werden.

Es geht leider um die Apps im Release :(

Und ja, ich beende alles was zu beenden ist (Timer, Threads) und schliesse die FDConnection.
Dies mache ich im FormSaveState. Das ändert auch nichts, wenn ich es im WillBecomeBackground mache.

Immer dasselbe Ergebnis.

Rollo62 8. Jan 2021 10:05

AW: App bleibt beim Re-Start lange eingefroren
 
Dann hilft wohl nur Logging mit Zeitstempel, um rauszufinden wo genau es hakt,
und/oder Alles auseinander zu rupfen, und Stück für Stück neu zusammenzubauen.

braunbaer 8. Jan 2021 10:42

AW: App bleibt beim Re-Start lange eingefroren
 
Zitat:

Zitat von Rollo62 (Beitrag 1480549)
Dann hilft wohl nur Logging mit Zeitstempel, um rauszufinden wo genau es hakt,
und/oder Alles auseinander zu rupfen, und Stück für Stück neu zusammenzubauen.

das mit dem Logging und Zeitstempel habe ich eh gemacht.
Hier sehe ich dann genau, dass die App öffnet aber das BecameActive erst nach ein paar Sekunden kommt - und genau das ist das, was mich so stutzig macht.
Und das eben nicht immer, sondern nur ab und zu, aber viel zu oft!!

Rollo62 8. Jan 2021 10:53

AW: App bleibt beim Re-Start lange eingefroren
 
Ich habe in solchen Fälllen Allles immer sehr modular gehalten,
damit ich es leicht Stück-für-Stück rückbauen kann.
Oder manchmal hilft es auch das Projekt-DPROJ nochmal komplett neu anzulegen,
weil irgendwelche .DPOJ Settings verschoben sind.
Ich hatte schonmal tagelang nach Fehlern gesucht warum es nicht mehr geht,
einmal neu anlegen, und neu Konfigurieren, dann gings.
Frag mich nicht woran es lag ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:44 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz