FATAL SIGNAL 11 (Sigsegv) при 0x00000000 (код = 1)?

Почему эта проблема возникает?

public static String path; private VideoView mVideoView; mVideoView = (VideoView) findViewById(R.id.surface_view); mVideoView.setVideoPath(path); mVideoView.setMediaController(new MediaController(this)); mVideoView.requestFocus(); //... private int mLayout = VideoView.VIDEO_LAYOUT_ZOOM; @Override public void onConfigurationChanged(Configuration newConfig) { if (mVideoView != null) mVideoView.setVideoLayout(mLayout, 0); super.onConfigurationChanged(newConfig); } 

Это ошибка

    Сообщение об ошибке, которое вы видите, вызвано разыменованием нулевого указателя в собственном коде. Из того, что вы показываете, трудно угадать, что может быть причиной.

    На вашем месте я бы дважды проверял, что вы не передаете пустые ссылки на системный или библиотечный метод.

    Как упоминалось Никола, это, скорее всего, вызвано разыменованием нулевого указателя в нативном коде. У меня была аналогичная проблема, и я решил ее отладить трассировку стека.

    Если вы отключите фильтрацию в своем журнале, вы увидите всю трассировку стека. Это даст вам подробную информацию о том, где произошел сбой, я использовал следующий скрипт python, чтобы найти точную причину; https://code.google.com/p/android-ndk-stacktrace-analyzer/wiki/Usage

    В моем случае появился нулевой указатель из-за запуска пользовательской сборки Android.

    Удачи

    Скорее всего, проблема с потоками … Я когда-то бегал в Fatal Signal 11 , когда я делал что-то не туда …

    Вероятно, setVideoLayout () – вызывает в вас реализацию onConfigurationChanged() .

    Было бы полезно, если бы вы могли разместить еще несколько кода …

    Вы можете увидеть из последнего вызова коллекции Garbage Collection, что сборщик мусора не смог освободить память и что у вас нет свободной памяти. Насколько велики ваши буферы? Сколько им нужна дополнительная комната?

    Одно из возможных решений состоит в том, чтобы исследовать использование большего размера кучи, установив android:largeHeap="true" чтобы разрешить большой размер кучи в манифесте приложения, задокументированный на сайте разработчиков. ,

    У меня была такая же проблема, используя вкладку galaxy galaxy 2, загружающую любой веб-сайт WiX:

    Фатальный сигнал 11 (SIGSEGV) при 0x00000000 (код = 1)

    И выход из всего приложения.

    Изучая больше, я нашел сообщение о ROM BUG. Итак, я подключаю телефон и F11 (eclipse) для компиляции того же кода. И … Это работает! Я все еще получаю ошибку в своем планшете.

    ТАБЛЕТКА: Samsung Galaxy Tabg 2 GT-P5100 ANDROID 4.0.3 KERNEL 3.0.8

    ТЕЛЕФОН: Samsung Galaxy Young DUOS (старый, но прошивка обновлена) GT-S6102B ANDROID 4.4.2 KERNEL 2.6.35.7

    Работайте в моем телефоне, но сбой на планшете, когда я загружаю любой веб-сайт, созданный с помощью инструмента WiX.

    Хорошая информация здесь: google + link

    У меня была аналогичная проблема при завершении моей работы двумя TextureViews (например, нажатием кнопки home):

     Fatal signal 11 (SIGSEGV), code 1, fault addr 0xa4680000 in tid 29013 (pool-4-thread-1) 

    Логарифм показал, что segv появился внутри функции drawXXX. Поэтому я старался не рисовать, когда поверхность разрушается:

     private synchronized void doDraw(Canvas canvas) { ... } 

    DoDraw () вызывается регулярно фоновым потоком. Если быть точным, используйте ScheduledExecutorService. Эта вещь остановлена ​​в уничтоженном слушателе, который также получил синхронизированное ключевое слово:

     public synchronized boolean onSurfaceTextureDestroyed(SurfaceTexture surfaceTexture) { executorService.shutdownNow(); return true; } 

    Это гарантирует, что поверхность может быть уничтожена только в том случае, если в настоящее время ничего не нарисовано.

    Больше никаких сбоев при выходе из деятельности сейчас!

    Мне кажется, что никто не использует TextureViews, но все же SurfaceViews. К сожалению, последний имеет некоторые проблемы при рисовании полупрозрачной графики на некоторых устройствах, поэтому я переключился на TextureView.

    Надеюсь это поможет.