Android Java:了解活动生活?

时间:2012-02-23 03:44:37

标签: java android android-activity

我是Android开发的新手,我了解了android的活动生活方式。

如果我有一个应用程序,我按一个按钮就可以使用手机的相机功能...

public void onClick(View v) {
                // TODO Auto-generated method stub
                Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
                startActivityForResult(cameraIntent, CAMERA_VIDEO_REQUEST);
            }

onPause()onDestroy()以及其他内容如何运作?

我在onCreate()

之外
protected void onPause(){
    super.onPause();

}

如果我想按后退按钮或按主页按钮,是否必须销毁或暂停相机功能?如果是这样,我还在试图弄清楚如何做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:1)

当您从当前活动开始新活动时,您当前活动有两种可能性

  • 暂停
  • 停止

<强>暂停: 另一项活动是在前景并具有焦点,但这一活动仍然可见。也就是说,另一个活动在这个活动的顶部可见,并且该活动部分透明或不覆盖整个屏幕。暂停的活动完全处于活动状态(Activity对象保留在内存中,它保留所有状态和成员信息,并保持附加到窗口管理器),但在极低的内存情况下可能会被系统杀死。

<强>停止: 活动完全被另一个活动遮挡(活动现在在“背景”中)。已停止的活动仍处于活动状态(活动对象保留在内存中,它维护所有状态和成员信息,但未附加到窗口管理器)。但是,它不再对用户可见,并且当其他地方需要内存时,它可能被系统杀死。

例如,您正在从您的活动启动相机活动,然后您当前的活动将停止,因为相机活动将覆盖您的所有屏幕,并且您的活动对于相机活动不可见。

Here是完整的说明。

您正在使用Intent启动Camera活动,因此您无需处理相机活动的回调方法。系统将管理您无需管理它的回叫方法。您只需管理您将从活动中获得的活动结果。

修改

当然,你永远不必直接调用Activity.System的任何生命周期方法根据活动状态自动调用这个方法。你只需要在这个方法中编写你的实现来完成你的工作。