致命信号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); } 

这是错误的

Solutions Collecting From Web of "致命信号11(Sigsegv)在0x00000000(代码= 1)?"

您看到的错误信息是由本地代码中取消引用空指针引起的。 从你所显示的内容来看,很难猜出可能的原因。

在你的地方,我会仔细检查,你没有传递一个空引用系统或库方法。

正如Nicola所提到的,这很可能是通过在本地代码中取消引用空指针而引起的。 我有一个类似的问题,并通过debugging堆栈跟踪解决它。

如果closures日志猫中的过滤function,将会看到整个堆栈跟踪。 这会给你提供发生崩溃的详细信息,我使用下面的python脚本来查找确切的原因; https://code.google.com/p/android-ndk-stacktrace-analyzer/wiki/Usage

在我的情况下,由于运行自定义的Android构build发生空指针。

祝你好运

最有可能的一个线程问题…我曾经跑过一个Fatal Signal 11 ,当我正在做错误的线程上的东西…

可能是setVideoLayout() – 在你的onConfigurationChanged()实现中调用。

将是有益的寿,如果你可以张贴更多的代码…

你可以从上次的Garbage Collection调用中看到垃圾收集器没有释放任何内存,并且你没有可用的内存。 你的缓冲区有多大? 他们需要多less额外的头部空间?

一种可能的解决scheme是通过设置android:largeHeap="true"来调查使用较大的堆大小,以便在开发人员站点上logging应用程序清单中的android:largeHeap="true"大小。 。

我有同样的问题,使用三星银河标签2加载任何WiX网站得到:

在0x00000000(代码= 1)的致命信号11(SIGSEGV)

并退出整个应用程序。

研究更多的是,我find了一篇关于ROM BUG的文章。 所以,我插上电话和F11(日食)编译相同的代码。 而且这是工作! 我仍然在我的平板电脑中出现错误。

平板电脑:三星Galaxy Tabg 2 GT-P5100 ANDROID 4.0.3内核3.0.8

电话:三星银河年轻DUOS(旧的,但固件更新)GT-S6102B ANDROID 4.4.2内核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) 

logcat显示segv出现在drawXXX函数中。 所以我试图在表面被破坏的时候不画:

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

doDraw()被后台线程定期调用。 确切地说,使用ScheduledExecutorService。 这个东西在被销毁的监听器中停止,它也得到了synchronized关键字:

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

这保证了当前没有任何东西被绘制时,表面只能被破坏。

现在离开活动没有更多的崩溃!

在我看来,没有人使用TextureViews,但仍然SurfaceViews。 不幸的是,后者在某些设备上绘制半透明graphics时遇到了一些问题,这就是为什么我切换到TextureView。

希望这可以帮助。