是否可以在兩個進程之間共享SurfaceTexture,例如Activity和Service?Android在兩個進程之間共享SurfaceTexture
我想用TextureView創建一個Activity,並從一個單獨的Service更新它的SurfaceTexture。
到目前爲止,我創建了OpenGL的產生的紋理(通過glGenTextures)一個表面紋理,然後我這個表面紋理設置爲我TextureView:
mSurfaceTexture = new SurfaceTexture(texture_id);
mTextureView.setSurfaceTexture(mSurfaceTexture);
顯示相機預覽這個表面紋理上的有效性做工精細:
mCamera = Camera.open();
mCamera.setPreviewTexture(mTextureView.getSurfaceTexture());
mCamera.startPreview();
我想這樣做,但是從一個單獨的服務,傳遞texture_id吧,是這樣的:
mCamera = Camera.open();
mCamera.setPreviewTexture(new SurfaceTexture(texture_id));
mCamera.startPreview();
原因是我有一個單獨的進程調用一個需要SurfaceTexture來傳輸一些內容的私有api,並且這個過程通過應用程序的aidl來訪問。
感謝
非常感謝您的解釋,我確實想知道如果使用Surface視圖是我唯一的選擇,您確認了這一點。 –