2013-05-31 2 views
9

미리보기를 TextureView로 보내도록 구성된 카메라가있는 Android 앱이 있습니다. 내 SurfaceTextureListener의 onSurfaceTextureUpdated 방법에서 내가 사용하는 비트 맵으로 미리보기 프레임을 뽑아 : 그것은 잘 작동하지만 아주 긴 시간 (A 720x1280 이미지에 대해 200-250 밀리 초) 소요Android TextureView.getBitmap()이 매우 느립니다.

textureView.getBitmap(existingBitmap); 

. 이 작업이 훨씬 빨라지는 것 같습니다. 이 작업의 성능을 향상시킬 수있는 방법에 대한 의견이 있으십니까?

+0

해결 방법을 찾으셨습니까? 나는 너와 똑같은 상황에 처해있다. –

+0

아직 없습니다. 아마도 OpenGL 컨텍스트를 설정하고 텍스처에서 읽어야 할 것입니다. 그러나 아직 조사하지는 않았습니다. 뭔가 알아낼 수 있는지 알려주세요. – ajselvig

+0

@ajselvig 당신은 OpenGL 텍스처에서 그것을 읽을 수 있었습니까? 그렇게 할 수있는 방법을 찾지 못했습니다. –

답변

-1

미리보기를 얻으려면이 명령을 사용하면 미리보기에서 새로운 비트 맵을 생성합니다. 이것은 응용 프로그램을 너무 오래 가져 오는 것입니다. 나의 제안은 백그라운드 스레드에서이 링크에 설명이 작업을 수행하는 것입니다 :

http://developer.android.com/reference/android/os/AsyncTask.html

그것은 당신이 onPostExecute 기능을 먼저 완료 될 때까지이 작업을 요구하는 작업을 스택 할 수도 있습니다.

이렇게하면 주 UI 스레드가 작동하고이 시간 동안 사용자가해야 할 일에 반응 할 수 있습니다.

이것은 당신이 누리고있는 최선의 대답이 아니지만 도움이되기를 바랍니다.

+0

예를 들어주세요. 감사합니다. –