2013-05-31 60 views
9

我有一個Android應用程序,相機配置爲發送預覽到一個TextureView。在我SurfaceTextureListener的onSurfaceTextureUpdated方法我拉出預覽幀使用位圖:Android的TextureView.getBitmap()很慢

textureView.getBitmap(existingBitmap); 

它工作正常,但需要一個很長的時間(約200-250毫秒爲720x1280圖像)。看起來這應該更快。有關如何改善此操作性能的任何想法?

+0

您是否找到解決方案?我和你一樣處於確切的狀況。 –

+0

還沒有。你可能必須設置一個opengl上下文並從紋理中讀取它,但我還沒有調查過。讓我知道你是否可以弄清楚什麼。 – ajselvig

+0

@ajselvig你是否可以從opengl紋理中讀取它。我找不到辦法。 –

回答

-1

使用此命令獲取預覽會從預覽生成一個新的位圖,這就是應用程序這麼久。我的建議是在後臺線程中執行此操作,在這個環節上解釋說:

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

它也可以讓你疊需要此操作將在onPostExecute函數首先完成的操作。

這將允許主UI線程的功能,並響應用戶在這段時間內可能需要做的任何事情。

這可能不是您所渴望的完美答案,但希望它有幫助。

+0

請你可以添加一個例子。謝謝 –