我想重用相同的 FirebaseVisionTextDetector,这样我就不必多次创建同一个对象的多个实例。我担心的是,如果我在短时间内对不同的图像位图调用 detetor.detectInImage(...),FirebaseVisionTextDetector 的异步属性是否能够处理与此相关的任何错误?或者我应该为每个位图使用不同的检测器?
我特别指的是这段代码,它是 Google ML Kit 教程的一部分:
https://firebase.google.com/docs/ml-kit/android/recognize-text
FirebaseVisionTextDetector detector = FirebaseVision.getInstance().getVisionTextDetector();
Task<FirebaseVisionText> result =
detector.detectInImage(image)
.addOnSuccessListener(new OnSuccessListener<FirebaseVisionText>() {
@Override
public void onSuccess(FirebaseVisionText firebaseVisionText) {
// Task completed successfully
// ...
}
})
.addOnFailureListener(
new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
// Task failed with an exception
// ...
}
});
作为旁注,有人可以为我推荐一种将 onSuccess 方法中的文本传递回调用方法的方法吗?我正在考虑使用 obervables 或回调方法。