it-swarm-ru.tech

СИГНАЛ 11 SIGSEGV крах Android

Сегодня я столкнулся с ошибкой, из-за которой мое приложение Android получает сигнал SIGNAL 11.

Эта ошибка обычно возникает из-за несанкционированного доступа к области памяти из внутреннего хранилища Android. Некоторые из возможных сценариев: доступ в Интернет, сетевое взаимодействие, загрузка изображений с сервера и т.д. Мой был случай загрузки URL браузера!

http://bootloader.wikidot.com/linux:Android:crashlog

Мне нужно запустить браузер после сканирования QR-кода.

Приложение продолжало сканировать и запускать браузер бегло, но проблема возникает после 15-20 попыток тех же шагов.

Я много исследовал и обнаружил, что это ОШИБКА ПАМЯТИ, которая возникает в собственных библиотеках Android .. обычно, когда внутренняя система хранения Android пытается получить доступ к неизвестной области памяти.

Наконец, я обнаружил, что когда я увидел использование памяти моего приложения в разделе настроек приложения Android, я обнаружил, что кэш-память была достигнута до 10 МБ.

20
Rohit Mandiwal

Вызовите webview.clearCache(); и webView2.destroyDrawingCache(); 

Это должно решить проблему.

21
Robert Harvey

Я столкнулся с той же проблемой, и у меня был JNI. это фатальное исключение создается случайным образом, и, поскольку я использовал его для воспроизведения звука, оно зависло примерно через 2 или 6 минут или еще. После многих исследований я обнаружил, что проблема заключалась в том, что я сделал вызов нативной функции из двух разных потоков, и когда это произошло одновременно, это не удалось.

Другой, если у вас есть какой-либо вызов jni из Android, убедитесь, что вы не передали в качестве аргумента значение null. 

1
rab