AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung App bleibt beim Re-Start lange eingefroren
Thema durchsuchen
Ansicht
Themen-Optionen

App bleibt beim Re-Start lange eingefroren

Ein Thema von braunbaer · begonnen am 3. Aug 2020 · letzter Beitrag vom 8. Jan 2021
Antwort Antwort
Seite 1 von 2  1 2      
braunbaer

Registriert seit: 15. Okt 2008
Ort: Vorarlberg
114 Beiträge
 
Delphi 11 Alexandria
 
#1

App bleibt beim Re-Start lange eingefroren

  Alt 3. Aug 2020, 12:48
Hallo Zusammen!
Kennt jemand das Problem, dass seit Delphi Sydney eine App, wenn sie länger im Hintergrund war, bis zu 30 Sekunden braucht bis sie wieder reagiert?
Der Screen bleibt einfach eingefroren. Danach läuft es normal weiter.
So wie ich das beobachtet habe wird das "BecameActive" viel zu spät getriggert.
Das Problem habe ich bei iOS. Android verhält sich normal.

Ich werde jetzt noch eine einfache neue Test-App bauen. Bin gespannt, ob das da auch so ist...

Schon mal Danke für jedes Feedback!

Gebhard
Gebhard Blank
  Mit Zitat antworten Zitat
Rollo62
Online

Registriert seit: 15. Mär 2007
3.905 Beiträge
 
Delphi 12 Athens
 
#2

AW: App bleibt beim Re-Start lange eingefroren

  Alt 3. Aug 2020, 12:57
Nein, eigentlich nicht.
Vielleicht machst Du etwas beim Aktivwerden (WillBecomeActive), um den Status wiederherzustellen.

Das verschiebe ich immer nachdem BecameActive gefeuert wurde, und die App sichtbar ist.
  Mit Zitat antworten Zitat
braunbaer

Registriert seit: 15. Okt 2008
Ort: Vorarlberg
114 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: App bleibt beim Re-Start lange eingefroren

  Alt 3. Aug 2020, 13:33
Die Statuseinstellungen der App werden im "BecameActive" gemacht.
hat bis Dato auch einwandfrei funktioniert.
Ich analysiere weiter...
Gebhard Blank
  Mit Zitat antworten Zitat
Rollo62
Online

Registriert seit: 15. Mär 2007
3.905 Beiträge
 
Delphi 12 Athens
 
#4

AW: App bleibt beim Re-Start lange eingefroren

  Alt 3. Aug 2020, 13:55
Versuch doch mal das einfach 300ms später auszuführen,
dann ist die App gestartet, und es sieht nicht so lange blockierend aus.
  Mit Zitat antworten Zitat
braunbaer

Registriert seit: 15. Okt 2008
Ort: Vorarlberg
114 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: App bleibt beim Re-Start lange eingefroren

  Alt 6. Aug 2020, 06:06
Versuch doch mal das einfach 300ms später auszuführen,
dann ist die App gestartet, und es sieht nicht so lange blockierend aus.
Hallo Rollo62,
danke für deinen Input.

Ich habe inzwischen den Punkt gefunden, wo alles einfriert.
Das mit TTasks und Threads habe ich schon im Griff, allerdings habe ich die Datenbankzugirffe auf die SQLite im Hauptthread.
Es läuft auch alles sauber und rund, da die notwendigen Datenbankzugriffe in wenigen Millisekunden erledigt sind.

zum Problem:
wenn die App (Zeiterfasssung) etwas Länger im Hintergrund ist, braucht der erste Zugriff auf die SQLite-DB extrem lange (10 - 30 Sekunden).
Danach läufts wieder.
Die SQLite-Datei liegt im LibraryPath. Eventuell ist das das Problem. Ich werde diese in den Documentspath verschieben...

Bin für weitere Tipps immer dankbar.
Gebhard Blank
  Mit Zitat antworten Zitat
Rollo62
Online

Registriert seit: 15. Mär 2007
3.905 Beiträge
 
Delphi 12 Athens
 
#6

AW: App bleibt beim Re-Start lange eingefroren

  Alt 6. Aug 2020, 06:24
.. im Hintergrund ist, braucht der erste Zugriff auf die SQLite-DB extrem lange (10 - 30 Sekunden).
Erster Zugriff heisst was genau, das erste Öffnen oder das erste SELECT ?
Vielleicht ist es aufschlussreich mal mit TStopWatch die Zeiten in den Before/After Routinen echt zu messen, um zu sehen wo genau es hängt.
  Mit Zitat antworten Zitat
braunbaer

Registriert seit: 15. Okt 2008
Ort: Vorarlberg
114 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: App bleibt beim Re-Start lange eingefroren

  Alt 6. Aug 2020, 07:04
Erster Zugriff heisst was genau, das erste Öffnen oder das erste SELECT ?
Es ist das erste Öffnen der DB mit dem ersten Select.
ich prüfe das noch, ob öffnen oder Select...

Da dies die letzten 5 oder mehr Jahre immer funktioniert hat und auch auf Android perfekt funktioniert und auch mit Rio perfekt funktioniert hat, denke ich eher, dass es mit Sydney irgend eine Änderung gab.
Leider konnte ich nichts in diese Richtung finden.

Das verschieben der DB in den DocumentsPath hat nichts geändert (wäre auch komisch)
Gebhard Blank
  Mit Zitat antworten Zitat
Rollo62
Online

Registriert seit: 15. Mär 2007
3.905 Beiträge
 
Delphi 12 Athens
 
#8

AW: App bleibt beim Re-Start lange eingefroren

  Alt 6. Aug 2020, 10:32
Es hat sich ab Android-10 mal wieder Einiges geändert, auch am Filezugriff,
ich suche selber noch nach Ursachen und Lösungen.
Das könnte aber auch das Sqlite-File betreffen

https://developer.android.com/traini...rage/use-cases

Vielleicht hat es was damit zu tun.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: App bleibt beim Re-Start lange eingefroren

  Alt 6. Aug 2020, 10:40
Nicht Cross-Plattform, bei/für Windows setze ich oftmals PE-Flags um das File im Speicher zu halten. Ein Grund könnte ein entladen im Hintergrund sein.
{$SetPEFlags ...FLAGS....}
Hier sind die verschiedenen Flags beschrieben.
IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP und IMAGE_FILE_NET_RUN_FROM_SWAP sind die Flaggen die ich meine.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
braunbaer

Registriert seit: 15. Okt 2008
Ort: Vorarlberg
114 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: App bleibt beim Re-Start lange eingefroren

  Alt 6. Aug 2020, 11:15
Nicht Cross-Plattform, bei/für Windows setze ich oftmals PE-Flags um das File im Speicher zu halten. Ein Grund könnte ein entladen im Hintergrund sein.
{$SetPEFlags ...FLAGS....}
Hier sind die verschiedenen Flags beschrieben.
IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP und IMAGE_FILE_NET_RUN_FROM_SWAP sind die Flaggen die ich meine.
das Problem ist nur bei iOS...
Windows und Android laufen problemlos.
Gebhard Blank
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz