0

我有一个应用程序,它ImageReaderTesseract. 它们连续工作并在 15-60 分钟后重新加载设备(在小米 Note 9T 上测试)。我有没有机会理解重新加载的原因?

使用分析器,我看不到可能导致重新加载的重大变化。

捕获方法

fun startCapture(frames: CropFrames, token: Token) {
    executeWithDelay(250) {
        this.frames = frames
        projection = mgr!!.getMediaProjection(resultCode, resultData!!)
        //todo add callback to dog
        val cb: MediaProjection.Callback = object : MediaProjection.Callback() {
            override fun onStop() {
                vdisplay!!.release() //?
                callback.onCaptured(latestBitmap!!, VisionParams())

            }
        }
        vdisplay = projection?.createVirtualDisplay(
            NAME,
            width,
            height,
            App.densityDpi,
            FLAGS,
            imageReader.surface,
            null,
            null
        )

        projection?.registerCallback(cb, null)
    }
}

停止捕获

 fun stopCapture() {
    if (projection != null) {
        projection!!.stop()
        vdisplay!!.release()
        projection = null
    }
}

阅读文本的方法

 fun read(
    bitmap: Bitmap,
    lastVisionParams: VisionParams,
    delay: Long,
    result: (caption: String, lastVisionParams: VisionParams) -> Unit
) {
    App.storageManager.executorService.execute {
        tessBaseAPI.setImage(bitmap)
        startCountdown()
        val recognizedText: String = tessBaseAPI.utF8Text
        endCountdown()
        println("text = $recognizedText")
        App.storageManager.mainThreadHandler.post {
            result.invoke(recognizedText, lastVisionParams)
        }
    }
}

任何提示或建议都适用。谢谢!

编辑

可能有人知道如何获取任何日志,为什么手机重新启动?

4

0 回答 0