0

Я работаю с компонентом android 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

Смежные вопросы