2012-02-23 46 views
0

我是新来的android开发,我得到了android有一个活动的生活。Android Java:了解活动生活?

如果我有一个应用程序,我按下一个按钮,使用手机的摄像头funcationality是这样的...

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(); 

} 

外部。如果我想按后退按钮或按home键,我必须销毁或暂停摄像功能?如果是这样,我仍然试图找出如何做到这一点?

谢谢!

+0

虽然您不熟悉Android,但为各种生命周期方法添加简单的Logging语句甚至会很有用,只需快速获取有关与应用程序交互的幕后情况的信息...... onPause将始终在onStop之前被调用。 – mastDrinkNimbuPani 2012-02-23 04:24:54

回答

1

当你开始从你当前活动的新活动,则有两种可能性,你当前活动

  • 暂停
  • 停止

的暂停: 另一项活动是在前台并有重点,但这个仍然可见。也就是说,另一个活动在这个活动之上是可见的,并且该活动部分透明或不覆盖整个屏幕。一个暂停的活性完全存活(活动对象被保留在存储器中,其保持所有状态和成员信息,并且保持附着到窗口管理器),但是可以由系统在非常低的存储器的情况下被杀死。

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

例如你开始从你的活动相机活动,则当前的活动将停止,因为相机活动将覆盖所有你的屏幕,你的活动是不是相机的活动可见。

Here是完整的描述。

您正在使用的意图,所以你不必处理呼叫背面的摄像头活动的方法启动摄像头活动。系统将管理你没有管理it.You回调方法只需要管理活动的结果,你会从相机的活动你的活动获得。

编辑

而且还OB当然你从来没有直接调用Activity.System的任何生命周期方法自动调用此方法根据活动state.You只需要编写这个方法你的实现做你的工作。

+0

这是一个很好的答案。我只补充说,你永远不必直接调用任何生命周期方法。 – 2012-02-23 04:01:59

+0

@NickCampion是的,我已经更新了我的答案。 – Dharmendra 2012-02-23 04:05:36

+0

甜蜜的感谢!它解释了很多! – hellomello 2012-02-23 06:05:42