it-swarm.com.de

Was ist fatal Signal 6 in Android logcat

Ich bin neu in der Android Entwicklung, meine App wird ständig getötet, wenn ich 11-mal von der Aktivität wechsle und dann heißt es nur

Schwerwiegendes Signal 6 (SIGABRT), Code -6 in Tid 9485 (Thread-141585)

in meinem logcat.

Was bedeutet das?

Ohne weitere Details (wie das Anzeigen von Code).

1) Blockieren Sie nicht den UI-Thread, da dies zu einem SIGABRT führen kann, da das Betriebssystem eine nicht reagierende App beendet.

binden und Aufheben der Bindung bei jeder Aktivität, wenn ich etwa elf Mal wechsle, stürzt meine App ab

2) Stellen Sie sicher, dass Sie in Ihrem OnDestroy innerhalb Ihres Activity hinter sich her aufräumen. d. h. Entfernen aller Ihrer Listeners/Events und dann Aufrufen der Base.OnDestory.

3) Ein externer (d. H. BluetoothLeService) Dienst, der mit Listenern, die jetzt null/nil sind, in Ihre App zurückruft und daher ein SIGABRT verursacht, siehe # 2

22
SushiHangover

Laut Wikipedia:

Das SIGABRT-Signal wird an einen Prozess gesendet, um ihn anzuweisen, abzubrechen, d. H. Zu beenden. Das Signal wird normalerweise vom Prozess selbst ausgelöst, wenn die Abbruchfunktion der C-Standardbibliothek aufgerufen wird. Es kann jedoch wie jedes andere Signal von außen an den Prozess gesendet werden

In der Regel weist dies auf einen Fehler in Ihrem Code oder in einer der von Ihnen aufgerufenen Bibliotheken hin.

Siehe auch: Wann bekommt ein Prozess SIGABRT (Signal 6)?

11
Giorgi