0

私はアンドロイドcamera2コンポーネントを使用していますが、画像を撮影した後、別のアクティビティで表示されるまでに時間がかかる理由を理解することに問題があります。基本的に何が起こるかは、私が写真を撮って保存すると、撮った写真を表示する新しいアクティビティを開きますが、それは約5秒後です。その後、ログに次のメッセージが表示されます。Android Camera2ピクチャ表示が非常に遅い

12-08 11:39:15.507 21995-22727/com.artlandapp.cameratest  E/CameraDeviceGLThread-0: Received exception on GL render thread: 
                        java.lang.IllegalStateException: swapBuffers: EGL error: 0x300d 
                         at android.hardware.camera2.legacy.SurfaceTextureRenderer.checkEglError(SurfaceTextureRenderer.java:530) 
                        at android.hardware.camera2.legacy.SurfaceTextureRenderer.swapBuffers(SurfaceTextureRenderer.java:523) 
                        at android.hardware.camera2.legacy.SurfaceTextureRenderer.drawIntoSurfaces(SurfaceTextureRenderer.java:727) 
                        at android.hardware.camera2.legacy.GLThreadManager$1.handleMessage(GLThreadManager.java:105) 
                        at android.os.Handler.dispatchMessage(Handler.java:98) 
                        at android.os.Looper.loop(Looper.java:168) 
                         at android.os.HandlerThread.run(HandlerThread.java:61) 
12-08 11:39:15.507 21995-22727/com.artlandapp.cameratest I/CameraDeviceState: Legacy camera service transitioning to state ERROR 
12-08 11:39:19.421 21995-22725/com.artlandapp.cameratest E/RequestThread-0: Timed out while waiting for request to complete. 
12-08 11:39:19.421 21995-22725/com.artlandapp.cameratest W/CaptureCollector: Preview buffers dropped for request: 0 
12-08 11:39:19.421 21995-22725/com.artlandapp.cameratest E/CameraDeviceState: Cannot receive result while in state: 0 
12-08 11:39:19.433 21995-22725/com.artlandapp.cameratest E/CameraDeviceState: Cannot receive result while in state: 0 
12-08 11:39:19.445 21995-22104/com.artlandapp.cameratest E/BufferQueueProducer: [SurfaceTexture-1-21995-3] queueBuffer: BufferQueue has been abandoned 
12-08 11:39:19.446 21995-22006/com.artlandapp.cameratest E/BufferQueueProducer: [SurfaceTexture-1-21995-3] dequeueBuffer: BufferQueue has been abandoned 
12-08 11:39:19.471 21995-22007/com.artlandapp.cameratest E/BufferQueueProducer: [SurfaceTexture-1-21995-3] cancelBuffer: BufferQueue has been abandoned 
12-08 11:39:19.471 21995-22104/com.artlandapp.cameratest E/BufferQueueProducer: [SurfaceTexture-1-21995-3] cancelBuffer: BufferQueue has been abandoned 
12-08 11:39:19.471 21995-22006/com.artlandapp.cameratest E/BufferQueueProducer: [SurfaceTexture-1-21995-3] cancelBuffer: BufferQueue has been abandoned 
12-08 11:39:19.472 21995-22007/com.artlandapp.cameratest E/BufferQueueProducer: [SurfaceTexture-1-21995-3] cancelBuffer: BufferQueue has been abandoned 
12-08 11:39:19.612 21995-21995/com.artlandapp.cameratest I/Choreographer: Skipped 245 frames! The application may be doing too much work on its main thread. 

どのような種類のヘルプや提案もありがとうございます。

答えて

-1

AsyncTaskを使用してキャプチャ操作を実行していないようです。 thisリンクを参照して、役立つかどうかを確認してください。

+0

明確にするために、画像表示メソッドをAsyncTaskにラップすることをお勧めしますか?私がイメージを撮るとき、私は撮影された写真のみを表示するはずの最終アクティビティに新しいインテントを作成します。私はUriをインテント・エクストラの写真に渡してから、Glideライブラリを使ってimageViewにロードします。したがって、Glideを使った読み込みはAsyncTaskで行うべきですか?私はそれを試してみる – Austie

+0

あなたは実際にあなたのコードを調べることなく、それを試すことができます、私はこれ以上あなたを提案する状態ではないです。 – Shubham

+0

今やってます。しかし、答えをありがとう! – Austie

関連する問題