首页 > 代码库 > Fatal signal 11 (SIGSGV) at 0x00002820 (code=1),thread 23696 (xvdy.oa:vitamio)

Fatal signal 11 (SIGSGV) at 0x00002820 (code=1),thread 23696 (xvdy.oa:vitamio)

修这个bug真的让人生不如死的感觉,太苦逼了!







首先叙述一下我的报错环境:在这里,我是在做一个视频播放软件。然后在编程过程中其他都是OK的,也就是说,我所做的这个视频播放如果使用第一次进入的时候,对播放任何的电影视频都不会报错崩掉。但是,由于我所要完成的这个视频播放要求较高(要播放连续剧)。在当前页面点击连续剧的选集要进行当前选中的视频进行切换。然后,问题就出现了!党正在播放当前选集然后点击其他任何一集都会报错而崩掉!!并报错上面图片的错误......

然后在网上收索了好多的帖子,都和我的情况不一样,因为其他的都是一些地图类和Cocos2d上面的一些帖子。顿时让我焦虑了,因为真是不知道怎么班?已经修这个bug这是第三天了,身边的朋友以及老师都问过了。都没有遇到过!也巧,在一个问答的帖子上看到一句话:

/** 这个错误一般是出现了内存泄露问题,可以检查一下是否出现了野指针,或者某些线程未及时关闭,再或者某些实例未及时关闭 */
然后,我就开始查找我在进行播放的时候都启动了那些线程,或者某些重复使用的不能即使关闭的实例。就发现Handler!因为我在使用视频播放的时候,需要用到Handler对播放的屏幕做手势的控制来调节声音、亮度、进度,以及视频播放屏幕上下的titleBar和SeekBar布局控件的显示隐藏等。然后,如果第一次进入视频呢正在播放,你点击某一集进行播放被点击的那一集。她会在之前的线程基础之上在次调用创建线程,而之前的线程并没有及时关闭,因此就出现了上面的错误!

所以,每当我进行视频切换的时候,都要提前把之前的所有Handler线程全部关掉!然后,视频播放就没什么问题了。

Fatal signal 11 (SIGSGV) at 0x00002820 (code=1),thread 23696 (xvdy.oa:vitamio)