由于是接收别人做的项目,而这个闪退现象也只是偶尔出现,但是一般是出现在输入字符的情况比较多,出现的位置还不确定,查了很久,查的想死。

百度完全不行,只好谷歌翻墙了。



谷歌了很久,今天看到了这个帖子,感觉跟我的问题很像,就试了下,把硬件加速给禁止了,现在还在测试中,先记录下。

https://forums.adobe.com/message/6243025


==============================================================================================

又经过一段时间的查找资料,发现,可能的情况有:

1.有资源被引用了,但是在未知的情况下被释放了,但是该引用报错。

很大原因是因为bitmap被回收了,但是还有地方有引用这个图片 https://code.google.com/p/android/issues/detail?id=14498


2.怀疑是硬件加速导致的问题。 经过分析发现使用了比较复杂的自定义View,可能会导致硬件加速渲染出错。

所以,可以在指定的View上关闭硬件加速:

myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
或者使用android:layerType="software"来关闭硬件加速:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:paddingLeft="2dp"
    android:layerType="software"
    android:paddingRight="2dp" >

还有就是经常报这个错误:GL error from OpenGLRenderer: 0x502,OpenGLRenderer  GL_INVALID_OPERATION。看着真是着急。也是跟硬件加速有关的。


就可以解决问题了。至少我的项目中修改后,暂时还没有出现闪退现象了。


贴下错误日志:


还有这种情况,也是类似的:




本文转载:CSDN博客