在我的 android 项目中,我使用相机实例拍照。拍照后,我将开始一项新活动。现在我在 onPause 中释放相机并在 onResume 中重新创建它。这工作正常。现在我的问题是;从其他活动返回相机活动时,将需要“很长时间”。我知道这是因为重新创建了相机。
我相信这个问题可以通过在用户实际关闭应用程序之前不释放相机来解决。
所以我的问题是:我什么时候以理智的方式释放我的相机,和/或这是如何完成的?
在我的 android 项目中,我使用相机实例拍照。拍照后,我将开始一项新活动。现在我在 onPause 中释放相机并在 onResume 中重新创建它。这工作正常。现在我的问题是;从其他活动返回相机活动时,将需要“很长时间”。我知道这是因为重新创建了相机。
我相信这个问题可以通过在用户实际关闭应用程序之前不释放相机来解决。
所以我的问题是:我什么时候以理智的方式释放我的相机,和/或这是如何完成的?
您必须在打开相机的类的方法上释放您的Camera
实例。onPause
因为,举个例子:
让你开Camera
在Activity
里面,说吧Activity1
。现在你导航到其他Activity
,比如说Activity2
。现在由于任何原因,您的应用程序崩溃了。现在您无法释放您的Camera
实例,也无法创建新实例。
或者
用户导航到Activity2
并按下主页按钮,然后Force Stops
从Settings
. 在这种情况下,也Camera
无法释放实例。
Activity1
在上述 2 个条件下,没有调用方法。
所以你应该释放你的Camera
对象onPause
Activity1
希望我清楚。
根据Android相机参考:
重要提示:调用 release() 以释放相机以供其他应用程序使用。应用程序应立即在 onPause() 中释放相机(并在 onResume() 中重新打开()它)。