android解决相机开关的问题
2015-07-22 20:29
267 查看
进入Activity,在UI线程打开相机,是个IO操作,会阻塞
退出Activity,也在UI线程关闭相机,也会阻塞
给用户的感觉就是卡慢,体验非常不好。
参考其他APP打开二维码扫描时,都会出现一个“正在加载”的页面
解决方案:
开启一个子线程A,用于打开相机
退出时,再开启一个线程B,用于关闭相机
那么问题来了,场景如下:打开相机,又快速退出
A线程刚把相打开打开,正准备让UI线程使用相机(startPreview),却因为B线程已经调用了相机的release,这时就抛出运行时异常挂掉了。
解决方案又来了:
在B线程中,调用A线程的join()方法,意思是等待A线程执行完成了,再去调用相机的release,就不会有问题了。
退出Activity,也在UI线程关闭相机,也会阻塞
给用户的感觉就是卡慢,体验非常不好。
参考其他APP打开二维码扫描时,都会出现一个“正在加载”的页面
解决方案:
开启一个子线程A,用于打开相机
退出时,再开启一个线程B,用于关闭相机
那么问题来了,场景如下:打开相机,又快速退出
A线程刚把相打开打开,正准备让UI线程使用相机(startPreview),却因为B线程已经调用了相机的release,这时就抛出运行时异常挂掉了。
解决方案又来了:
在B线程中,调用A线程的join()方法,意思是等待A线程执行完成了,再去调用相机的release,就不会有问题了。
相关文章推荐
- android 点击按钮,使其他控件获得焦点
- Android布局管理器
- android中添加注释
- webrtc学习笔记2(Android端demo代码结构)
- android 高版本函数actionBarSetup()要在低版本使用设置方法VERSION_CODES
- Android生成随机验证码
- Android内核开发:为什么刷机后系统第一次启动会很慢?
- Android实现圆形头像
- Android 编程下 WebView 加载一个网页如何得到网页的 Cookie 值
- gif开源组件----android-gif-drawable
- Android在程序代码中使用String资源
- Android应用程序模拟手机按键
- android细节问题
- Android -- Camera2(Android5.0)
- 【留念贴】Android开发——计算器
- Android开发之获取相册照片和获取拍照照片二
- Android开发之获取相册照片和获取拍照照片
- Android 按照比例剪裁图片,以及拍照并剪裁
- Android开发初学者问题
- Android RelativeLayout 属性