【问题标题】:Releasing android camera object fails on some devices在某些设备上释放 android 相机对象失败
【发布时间】:2011-03-22 07:04:47
【问题描述】:

我正在使用 Android 相机 API。我正在开发一个拍照的应用程序,刚拍完照片,我想释放相机。但是,Camera 并未在 ericson、xperia 等少数设备上发布。

【问题讨论】:

    标签: android android-camera


    【解决方案1】:

    如果您使用的是 MediaStore.ACTION_IMAGE_CAPTURE,那么只要您定义 onActivityResult(int requestCode, int resultCode, Intent data),相机就会自行处理。

    【讨论】:

      【解决方案2】:

      为了让它工作,我只需要在surfaceDestroyed() 方法中释放相机,在实现SurfaceHolder.Callback 的活动中。

      @Override public void surfaceDestroyed(SurfaceHolder holder){
          camera.release();
          hasSurface = false;
      }
      

      因为,在某些设备中,释放硬件资源是一个缓慢的过程,可能会影响立即处理。在surfaceDestroyed() 释放相机确保表面预览停止/销毁,然后我们可以释放相机。

      【讨论】:

      • 还有谁知道这是什么 03-29 20:12:51.133: DEBUG/SemcCameraHardware(1097): release E 03-29 20:12:51.623: DEBUG/SemcCameraHardware(1097): release X因为每当活动挂起时,只有发布 E 来,但没有发布 X........ 成功时都会出现日志输出......如果有人对此有想法,那就很紧迫
      猜你喜欢
      • 1970-01-01
      • 2018-02-20
      • 1970-01-01
      • 1970-01-01
      • 2021-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多