以下代码行是什么意思

时间:2018-06-22 07:02:15

标签: java android

我正在从Android开发者文档中阅读有关Android生命周期的信息,并且在onPause()部分中有以下代码片段:

public class JavaCameraComponent implements LifecycleObserver {

    ...

    @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
    public void releaseCamera() {
        if (camera != null) {
            camera.release();
            camera = null;
        }
    }

    ...
}

这是否意味着应用程序中有一个启动摄像头的活动,并且该活动将ON_PAUSE事件发送到生命周期感知组件,并且只有当它接收到该事件时,才会启动相机? (意味着发送活动当前处于暂停状态,因为相机应用正在运行?)

1 个答案:

答案 0 :(得分:3)

  

是否表示该应用中有一项活动会启动   相机,并且此活动将ON_PAUSE事件发送到生命周期   感知组件,并且只有当它接收到此事件时,它才会启动   相机?

您提供的代码段并不意味着当您收到Event.ON_PAUSE时,相机将启动。意思是,我已经完成了相机的使用,并释放了相机供其他应用程序使用。

  

此活动将发送ON_PAUSE

不。这些生命周期事件是从框架和Lifecycle类调度的。这些事件映射到活动和片段中的回调事件。您可以参考official documentation了解更多详情

对于您添加的代码,它只会在ON_PAUSE事件中释放摄像机