【发布时间】:2011-03-22 07:04:47
【问题描述】:
我正在使用 Android 相机 API。我正在开发一个拍照的应用程序,刚拍完照片,我想释放相机。但是,Camera 并未在 ericson、xperia 等少数设备上发布。
【问题讨论】:
我正在使用 Android 相机 API。我正在开发一个拍照的应用程序,刚拍完照片,我想释放相机。但是,Camera 并未在 ericson、xperia 等少数设备上发布。
【问题讨论】:
如果您使用的是 MediaStore.ACTION_IMAGE_CAPTURE,那么只要您定义 onActivityResult(int requestCode, int resultCode, Intent data),相机就会自行处理。
【讨论】:
为了让它工作,我只需要在surfaceDestroyed() 方法中释放相机,在实现SurfaceHolder.Callback 的活动中。
@Override public void surfaceDestroyed(SurfaceHolder holder){
camera.release();
hasSurface = false;
}
因为,在某些设备中,释放硬件资源是一个缓慢的过程,可能会影响立即处理。在surfaceDestroyed() 释放相机确保表面预览停止/销毁,然后我们可以释放相机。
【讨论】: