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);
时间: 2024-09-29 01:00:20

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

[记录]优化Linux 的内核参数来提高服务器并发处理能力

优化Linux 的内核参数来提高服务器并发处理能力PS:在服务器硬件资源额定有限的情况下,最大的压榨服务器的性能,提高服务器的并发处理能力,是很多运维技术人员思考的问题.要提高Linux 系统下的负载能力,可以使用nginx 等原生并发处理能力就很强的web 服务器,如果使用Apache 的可以启用其Worker 模式,来提高其并发处理能力.除此之外,在考虑节省成本的情况下,可以修改Linux 的内核相关TCP 参数,来最大的提高服务器性能.当然,最基础的提高负载问题,还是升级服务器硬件了,这是

Linux(Centos )的网络内核参数优化来提高服务器并发处理能力

系统版本  CentOS Linux release 7.6.1810 (Core) 简介 提高服务器性能有很多方法,比如划分图片服务器,主从数据库服务器,和网站服务器在服务器.但是硬件资源额定有限的情况下,最大的压榨服务器的性能,提高服务器的并发处理能力,是很多运维技术人员思考的问题.要提高Linux系统下的负载能力,可以使用nginx等原生并发处理能力就很强的web服务器,如果使用Apache的可以启用其Worker模式,来提高其并发处理能力.除此之外,在考虑节省成本的情况下,可以修改Lin

Android 上能提高学习工作效率的应用

在知乎上有朋友问 Android 上能提高学习.工作效率的应用有哪些?我给他们的推荐获得了最多赞同.以后会不断完善更新此贴. Any.do :规划日程,各平台都有. Evernote:记笔记,各平台都有. OneNote:这个也不错,特别是文档功能很强大,微软有Office基因啊,但同步有点慢... Quora:问答SNS网站客户端 ,看问题学英语感觉不错 Pocket:稍候阅读软件,各平台都有,chrome有插件,自定义快捷键chrome上快速保存文章,Android上各App都可以分享到Pl

【第一篇章-android平台buffer播放探索】Steaming Source Player

为了在android平台找到buffer播放方式,花了不少功夫,在这个探索过程中,果断否定了native media的方式,在找到Steaming Source Player之前还进行了一次Nuplayer的尝试,我们把android里面的Nuplayer单独独立出来可进行NDK编译用加载库的方式跑起来,在三星以及小米的手机上跑是没有问题的,整体功能还算OK,但是想android平台通吃的话,会遇到很多兼容性问题,因为Nuplayer要对接底层OMX相关的模块,并不是每一家对OMX的封装做的到位

Android中级第九讲--相机调焦

博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved ! 相机调焦:原理,使用竖直seekbar,根据用户拖拉来获得距离,然后以Parameter的形式设置到Camera. 实现OnSeekBarChangeListener /* * (non-Javadoc) * * @see * android.widget.SeekBar.OnSeekBarChangeListener#onProgressChanged(an

七个 Android 程序猿提高效率必备工具

Android 程序猿提高效率必备工具 0x00 Code tree for GitHub 这个 Chrome 浏览器插件.Github 作为最大同性交友网站,每天的工作几乎是从打开这个网站开始的.当我们浏览一个项目时,可以以树形结构查看 项目代码的结构,非常方便.可以在 Chrome Store 中里面下载,需要FQ. 0x01 JSONView 这个是 Chrome 浏览器插件.JSON 格式化工具,调试 Api 时经常会用到.结构化的 JSON 更符合人的阅读.当然这个插件也很多,这里推荐

如何提高服务器并发处理能力

说明 以下内容为入门级介绍,意在对老技术作较全的总结而不是较深的研究.主要参考<构建高性能Web站点>一书. 什么是服务器并发处理能力 一台服务器在单位时间里能处理的请求越多,服务器的能力越高,也就是服务器并发处理能力越强 有什么方法衡量服务器并发处理能力 1. 吞吐率 吞吐率,单位时间里服务器处理的最大请求数,单位req/s 从服务器角度,实际并发用户数的可以理解为服务器当前维护的代表不同用户的文件描述符总数,也就是并发连接数.服务器一般会限制同时服务的最多用户数,比如apache的MaxC

Android 7.0 之后相机/文件读写等权限获取方式改变,导致开启相机闪退

在 Android 7.0 之前 Google 提供的动态申请权限的 API,可以调用相机拍照,访问SDcard等操作都只需要申请对应的权限,如下: <uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 但是 7.0 更新之

[Android Pro] 调用系统相机和图库,裁剪图片

private static final int PHOTO_REQUEST_TAKEPHOTO = 1;// 拍照 private static final int PHOTO_REQUEST_GALLERY = 2;// 从相册中选择 private static final int PHOTO_REQUEST_CUT = 3;// 结果 private File tempFile = new File(Environment.getExternalStorageDirectory(), g