android--zxing扫描--Method call after release问题的解决方案
来源:互联网 发布:淘宝免费购物 编辑:程序博客网 时间:2024/06/07 09:00
原文转自:http://blog.csdn.net/duanyipeng/article/details/12754377
在停止预览时,调用自定义stopPreview(),在执行到_mCamera.release()后,出现Method called after release()异常。
1. 具体原因
是因为在之前调用_mCamera.startPreview()方法之前,调用了_mCamera.setPreviewCallback(xxActivity.this),导致在手动调用上面stopPreview()的时候,xxActivity.this 实现的PreviewCallback接口onPreviewFrame方法还在不停调用,具体调用频率就是当前预览的FrameRate,当stopPreview()执行完_mCamera.release()时,onPreviewFrame再次被调用时就出现了该异常。
2. 解决办法
在自定义的stopPreview()里面调用_mCamera.release()之前,先调用一次_mCamera.setPreviewCallback(null); ,这样在执行完_mCamera.release(),因为指定的PreviewCallback为null,因而就不会再调用onPreviewFrame,进而也不会再引用到camera和调用到其任何方法。注:onPreviewFrame第二个参数引用了camera。
代码如下:
<span style="font-size:18px;">private void stopPreview() {Log.w(TAG, "stopPreview(), _isPreviewing = " + _isPreviewing + ", _mCamera = " + _mCamera);if (_isPreviewing && _mCamera != null) {_mCamera.stopPreview();/** * Note: 一定要调用 _mCamera.setPreviewCallback(null), 否则出现 Method called * after release() 异常. */_mCamera.setPreviewCallback(null);_mCamera.release();_mCamera = null;_isPreviewing = false;updateTimeRemainingInfoVisibility();updateMotionDetectScoreVisibility();releaseVideoDetector();}}</span>
0 0
- android--zxing扫描--Method call after release问题的解决方案
- Android ZXing(二维码扫描)必须远距离扫描的解决方案
- android--zxing返回扫描界面出现黑屏的解决方案
- Method called after release()
- 相机拍照时,遇到问题Method called after release()的解决方法
- android Zxing二维码扫描 竖屏切换问题的解决
- Google Zxing实现二维码扫描的解决方案
- zxing二维码扫描预览变形的解决方案
- 停止预览时调用Camera.release(), 出现Method called after release()异常问题原因及解决办法
- Android使用Zxing扫描二维码改成竖屏后,后面的预览画面出现了拉伸,扭曲解决方案
- 关于zxing二维码扫描开灯的问题
- zxing扫描二维码遇到的一个问题
- Android Zxing 扫描的简单的demo
- Android开发:ZXing条码扫描-竖屏解决方案
- Android开发:ZXing条码扫描-竖屏解决方案
- 最简单的 Android ZXing二维码扫描
- android利用zxing做的二维码扫描
- Android二维码的扫描和生成(ZXing)
- 关于freemarker的classic_compatible属性的使用场景和解决
- php学习之道:php中is_file和file_exist的区别,and判断目录is_dir
- 完美解决 IOS系统safari5.0 浏览器页面布局iframe滚动条失效问题
- 在HTML中引入CSS的方法
- 关于 Java 基础整理(一)
- android--zxing扫描--Method call after release问题的解决方案
- Sybase内置数据类型Timestamp
- MAC 下 FlashBuilder 4.6 的破解方法
- pl/sql常用判断语句
- 阿达见地方哈工大撒归属地
- jQuery学习总结四 --- 功能性表格的开发
- 大盘指数是什么意思?
- 通用Control类 - 基于Thinkphp写的通用资讯管理类
- QtCreator 使用DOM创建和操作(添加,删除,更新)XML