画像コンテンツ [ onDevice Mode ] を使用していくつかの画像を記述しようとしていますが、メモリが多すぎて、同じアプリで多くの画像を試すとクラッシュします。
なぜそうなるのかはわかりませんが、常にOutOfMemoryError Exception がスローされます。私の画像は約1〜2 MBのサイズです。
例外をグーグルで検索したときに有効にしましたandroid:largeHeap="true"
が、2 つの画像を試した後でもクラッシュします。
また、使用して vars からメモリを解放しようとしましSystem.gc();
たが、それでもメモリが多すぎます。
これは、onDevice で実行するために使用するコードです。
onCreate(); で
detector = FirebaseVision.getInstance()
.getVisionLabelDetector();
ボタンをクリックしたとき
detector.detectInImage(image)
.addOnSuccessListener(
new OnSuccessListener<List<FirebaseVisionLabel>>() {
@RequiresApi(api = Build.VERSION_CODES.M)
@Override
public void onSuccess(List<FirebaseVisionLabel> labels) {
Toast.makeText(MainActivity.this, "Done", Toast.LENGTH_SHORT).show();
setResult(labels, "onDevice Result : ", before);
System.gc();
}
})
.addOnFailureListener(
new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
System.out.println("Error: " + e.getMessage());
}
});
誰でも私を助けることができますか?