Мое приложение частично написано в собственном приложении с использованием C/С++. Проблема заключается в том, что всякий раз, когда C/С++ частично сбой, по какой-то причине приложение умирает, а затем автоматически запускается. Это вызывает всевозможные беспорядочные проблемы.
Теперь, конечно, он должен не разбиваться в своей родной части, и я пытаюсь устранить все причины, почему это произойдет. Однако, если это произойдет, я бы хотел:
- Выйти изящно
- Если он умирает, по крайней мере, не пытайтесь перезапускаться автоматически.
Мне любопытно, почему это происходит. После некоторого поиска я попытался поместить следующую строку в основной элемент активности AndroidManifest.xml:
android:finishOnTaskLaunch="true"
но автоматическое восстановление все равно происходит.
Кто-нибудь знает, почему это происходит и как его изменить?
UPDATE:
Я думаю, что более фундаментальный вопрос:
Есть ли что-то похожее на обратный вызов, если есть нативный сбой?
Один из ответов предложил "обрабатывать сигналы сбоя". Я был бы признателен за любые ссылки о том, как это можно сделать на уровне приложений или модулей.
Как и в настоящее время, если есть сбой, приложение просто исчезает, в логарифме нет ничего, поэтому отладки не возможно.