使用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日志分析下错误吧
初始化和释放必须确保执行顺序
大家顶一下,求解决