Android使用Buffer提高相机的处理能力

Android上使用相机的的Preview的时候,如果不使用Buffer,相机程序会反复创建销毁Byte数组,造成系统频繁垃圾回收,非常影响体验,这时可以用Buffer来进行处理。

首先,在调用相机的回调时,用如下代码:

for (int i = 0; i < 3; i++) {
				camera.addCallbackBuffer(new byte[((previewWidth * previewHeight) * bitsPerPixel) / 8 ]);
			}
camera.setPreviewCallbackWithBuffer(this);


在Callback中加了3个Buffer,一般2个应该够用,保险起见加3个。

在OnPreviewFrame处理完毕后,再把Buffer加回去。

public void onPreviewFrame(byte[] data, Camera camera) {
camera.addCallbackBuffer(data);

文章来自:http://blog.csdn.net/dzg1977/article/details/42423131
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3