AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung [Fmx, iOS] Bluetooth LE mit Background-central crasht nach 1 Minute
Thema durchsuchen
Ansicht
Themen-Optionen

[Fmx, iOS] Bluetooth LE mit Background-central crasht nach 1 Minute

Ein Thema von Rollo62 · begonnen am 3. Jun 2020 · letzter Beitrag vom 22. Aug 2022
Antwort Antwort
Rollo62

Registriert seit: 15. Mär 2007
4.164 Beiträge
 
Delphi 12 Athens
 
#1

AW: [Fmx, iOS] Bluetooth LE mit Background-central crasht nach 1 Minute

  Alt 22. Aug 2022, 08:40
Ich habe es meistens so lösen können dass ich möglichst auf echte Background-Modes verzichte.
Die scheinen die Hauptursache von Problemen zu sein.

Trotzdem habe ich Apps die im Bluetooth aktiv bleiben müssen, und die werden durch regelmäßige Sendungen von den IoT Geräten getriggert.
Das bluetooth-peripheral muss ich nicht mehr setzen, das war nur mal ein Test um die App wach zu halten, die App ist aber
ein bluetooth-central.
Es scheint in den letzteren OS Version auch stabiler geworden zu sein hinsichtlich BLE, Hintergrund-Standort brauche ich nicht mehr.

Der Ablauf im Hintergrund funktioniert bei mir so:
- Es muss immer im Vordergrund aufgebaut werden
- Es scheint bluetooth-central zu reichen
- Im Hintergrund kommen regelmäßige Sendungen vom IoT welche die App wach halten, von ca. 4-12 Sek.
- Wenn die App im Hintergrund das Gerät verliert habe ich noch kein automatisches Wiederverbinden vorgesehen, sondern eine Notification.
- Plötzliche Abstürze sehe ich hier selten, es scheint aber immer mal wieder vorzukommen.
Woran das liegt kann ich nicht wirklich sagen.

Ich habe über die Zeit auch an vielen iOS (und Android) Bugs rumgedocktert, oft scheint es einfach am iOS zu liegen.
Ein Neues SDK behebt das dann, ich vermeide trotzdem immer das Neueste einzusetzen, erst nachdem es gut getestet ist.
Eine gleichbleibende Qualität beim Debuggen sehe ich irgendwie nicht, mal fluppt Alles wie es soll, mal klemmt es hier und da und stürzt ab.
Das passiert komischerweise auch von einen Tag auf den Anderen, ohne das man etwas anfasst oder sogar den Rechner neustartet.
Ein Neustart aller Systeme hilft übrigens dann auch nichts, manchmal ist ein und dieselbe App superstabil, mal crasht es, ohne wirkliche Code-Änderung.
Eine Vermutung war schon früher immer, dass ein einfaches Umbauen der uses Units ( in eine andere Reihenfolge ) solche Probleme verhindern kann, also dass es durchaus auf die Linker-Reihenfolge ankommen kann.
Das hatte ich ein paar mal gesehen, dass ein Umstrukturieren von uses Crashes verhindern kann, konnte das aber nie wirklich nachweisen.
Deshalb versuche ich immer möglichst kleine Units zu halten, in der Hoffnung dass der Linker damit besser optimieren kann und vielleicht Bereichsgrenzen vermeiden kann.
Ich habe auch sehr oft kleine Tests und Demos gebaut, die sehr stabil Laufen.
Sobald ich dass dann in größere Anwendungen übernehme kommen wieder sporadische Probleme.
Insbesondere sehe ich immer noch dass bei Verlust der Verbindung die Characteristics oder Devices noch lange verbunden bleiben können und/oder Abstürzen.
Das Verhalten hängt bei mir aber auch stark von den Geräten selbst ab die ich verbinde, da habe ich eine ganze Reihe mit ganz verschiedenen MCU's und BLE-Stacks, wo ich nicht wirklich sagen kann was da der Unterschied bei der Verbindung, Parametern, Timing, usw. ist.
Nur das manche Geräte in derselben App problemlos Laufen und andere nicht, ohne das es einen ersichtlichen Unterschied gäbe.
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:57 Uhr.
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 by Thomas Breitkreuz