Hallo Schokohase,
dankesehr fürs checken.
Ja ich Teste mit FMX und iOS, aus einem iPhone X, andere iOS Geräte hatte ich bis jetzt nicht gecheckt.
Etwas mehr Delay wäre ja kein Problem für mich, aber 6 Sekunden bis zum Start des Tasks ???
Und das nur wenn die App das erste mal startet im Debugger, danach kommen weitere Aufrufe auch sofort (<= 10 ms).
Wohlgemerkt das scheint nur unter folgenden Bedingungen zu passieren:
- echtes iOS Device (momentan iPhone X mit iOS 12.3), kein Simulator
- Android habe ich nur kurz gecheckt, da gibt es aber kein solch extremes Delay
- Das Delay kommt anscheinend NUR beim ersten Aufruf des TTask.Run
- und wohl NUR beim Debuggen mit der
IDE
- selbst wenn die selbe App dann mit Debug-Daten lokal auf dem iPhone nochmal gestartet wird ist das Delay weg.
Es sieht so aus als würde beim ersten Start von TTask irgendwas initialisiert, eventuell auch über den Debugger, wie TThreadPool o.ä.
Wäre alles OK, nur eben nicht mit 6 Sekunden, und teilweise mit Blockieren des UI-Threads.
Ich habe in der TestApp schon nach allen möglichen Gründen, Deadlocks, Synchronisierungen, etc. gesucht, und einiges probiert, deshalb die zusätzlichen Abfragen dadrin.
Aber das scheint es nicht zu sein.