Activity概述
Activity是Android组件中最基本也是最为常见用的四大组件(Activity活动,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器)之一。
参照SDK中的docs做了一些整理:
Activity是“单任务焦点”的,也就是说用户只能与一个active(running)的Activity交互。一个Activity通常就是一个单独的屏幕/界面,负责管理界面上的各种控件(widgets),可以在Activity的onCreate(Bundle savedInstanceState)方法中调用setContentView(int layoutResID) 向其添加视图/控件, layoutResID为在xml中定义的layout,可以通过自动生成的R类访问:R.layout.xxx。
Activity类的继承关系及实现的主要接口如下图所示,继承自Activity的主要子类有FragmentActivity, ListActivity, NativeActivity, ActivityGroup 等。
Activity作为与用户的交互界面,需要保持快速响应,一般5秒左右就会提示异常,因此在Activity中不做耗时的操作,如下载上传数据。耗时操作可以使用Service或者使用多线程。
Activity生命周期
Activity的使用首先需要深入理解其生命周期
Activity在应用程序的整个生命周期中扮演者重要的角色,系统采用一个“活动堆栈”来管理所有的Activity,一个新Activity启动后会被放在堆栈顶部,并保持running状态,前一个running的activity将被下压并暂停,直到用户back,新Activity退出后回到栈顶并running,这正是栈的先进后出原则。
Activity回调方法
Activity定义了大量的回调方法来完成整个生命周期,这些方法都是会自动调用的,可以在Activity的子类中重载,添加所需要的逻辑代码:
方法 |
简介 |
Killable? |
next方法 |