我是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();
}
如果我想按后退按钮或按主页按钮,是否必须销毁或暂停相机功能?如果是这样,我还在试图弄清楚如何做到这一点?
谢谢!
答案 0 :(得分:1)
当您从当前活动开始新活动时,您当前活动有两种可能性
<强>暂停:强> 另一项活动是在前景并具有焦点,但这一活动仍然可见。也就是说,另一个活动在这个活动的顶部可见,并且该活动部分透明或不覆盖整个屏幕。暂停的活动完全处于活动状态(Activity对象保留在内存中,它保留所有状态和成员信息,并保持附加到窗口管理器),但在极低的内存情况下可能会被系统杀死。
<强>停止:强> 活动完全被另一个活动遮挡(活动现在在“背景”中)。已停止的活动仍处于活动状态(活动对象保留在内存中,它维护所有状态和成员信息,但未附加到窗口管理器)。但是,它不再对用户可见,并且当其他地方需要内存时,它可能被系统杀死。
例如,您正在从您的活动启动相机活动,然后您当前的活动将停止,因为相机活动将覆盖您的所有屏幕,并且您的活动对于相机活动不可见。
Here是完整的说明。
您正在使用Intent启动Camera活动,因此您无需处理相机活动的回调方法。系统将管理您无需管理它的回叫方法。您只需管理您将从活动中获得的活动结果。
修改强>
当然,你永远不必直接调用Activity.System的任何生命周期方法根据活动状态自动调用这个方法。你只需要在这个方法中编写你的实现来完成你的工作。