使用ocr的过程中经常闪退
场景描述:在一个activity中包含多个fragment,这些fragment中有几个是使用了ocr 文字识别技术的,activity 底部有上一页和下一页 按钮负责切换fragment
代码结构:在每个用到的fragment onCreateView()中初始化本地质量控制模型 ,并在onDestroyView() 释放
产生问题的操作:频繁切换点击上一页下一页按钮,切换fragment 应用产生闪退,并且无法用截取日志
----------------------------------------------------------------------
代码部分:
在Application的onCreate()中调用initAccessTokenWithAkSk();
private void initAccessTokenWithAkSk() { OCR.getInstance().initAccessTokenWithAkSk(new OnResultListener() { @Override public void onResult(AccessToken result) { String token = result.getAccessToken(); } @Override public void onError(OCRError error) { error.printStackTrace(); } }, getApplicationContext(), Config.API_KEY, Config.SECRET_KEY); }
在每个应用到orc识别身份证信息的fragment中
onCreateView() 中调用initOcr()
private void initOcr() { ScanCamerHelper.getInstanche().initScanCamer(getContext()); }
public void initScanCamer(Context context) { final String license = OCR.getInstance().getLicense(); CameraNativeHelper.init(context, OCR.getInstance().getLicense(), new CameraNativeHelper.CameraNativeInitCallback() { @Override public void onError(int errorCode, Throwable e) { String msg; switch (errorCode) { case CameraView.NATIVE_SOLOAD_FAIL: msg = "加载so失败,请确保apk中存在ui部分的so"; break; case CameraView.NATIVE_AUTH_FAIL: msg = "授权本地质量控制token获取失败"; break; case CameraView.NATIVE_INIT_FAIL: msg = "本地质量控制"; break; default: msg = String.valueOf(errorCode); } LogUtil.e("baidu_ocr", msg); } }); }
onDestroyView() 中调用下面的代码
CameraNativeHelper.release();
请登录后评论
TOP
切换版块
解决了吗
抓logcat日志分析下错误吧
初始化和释放必须确保执行顺序
大家顶一下,求解决