做Camera應用時遇到的問題

        之前在做Camera應用的時候曾經論壇發過一次求助貼,可惜沒人給與解答,時隔一段時間思來想去還是應該記錄一下,以後也好有個印象。

        問題1


Camera應用在正常Recording的時候,如果遭遇了ANR的問題,導致應用直接被kill,那麼Camera中的很多操作如Camera的釋放,MediaReceiver的停止和釋放等都會出現異常。
此時的Camera設備會處在lock的狀態,再次申請試用會提示busy,此時要如何處理?
log如下:
W/CameraService(29916): CameraService::connect X (pid 26500) rejected (camera 1 is still busy).
上述log出自CameraService.cpp中。難道此時只能重啓設備?還是主動去重新釋放設備?

       問題2


在出現上述問題異常關閉應用後系統會一直打印下面的log:
E/BufferQueue( 864): [SurfaceView] dequeueBuffer: SurfaceTexture has been abandoned!
一直重複打印大量的這部分log,可能跟SurFaceView申請的緩存沒有正常釋放有關。

      

        到目前爲止遇到這樣的問題依然束手無策,只能重啓機器或者插拔USB Camera設備,有時插拔也是沒用的。所以還是希望有遇到過的朋友可以分享經驗。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章