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

时间:2015-01-05 16:44:28   收藏:0   阅读:4374

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);

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!