activity生命周期:
activity启动方式:
standard: 任务栈每次启动任务都创建activity实例
singleTop: 如果activity实例处于栈顶,则启动相同任务不创建实例,否则启动任务创建实例
singleTask: 任务栈中各个任务只能有一个对应的activity实例,启动任务时若栈中已有实例,则弹出栈顶的其他实例(直到该实例在栈顶),否则创建实例
singleInstance: 独立的一个任务栈,只包含一个任务的一个实例
获取activity的返回参数:
startActivityForResult(Intent intent, int requestCode)方法启动需要返回数据的activity,并重写onActivityResult(int requestCode, int resultCode, Intent data)方法接收返回的数据,当启动的activity运行结束后会回调该方法。
requestCode:用于区分请求的数据
resultCode: 用于区分返回的数据
activity的finish()方法:
activity执行完成或关闭时,调用finish()方法,只是将任务栈最上层activity出栈,占用的资源并不一定马上释放。因为此时并不一定执行onDestroy()方法,onDestroy()方法由系统回调,调用时机是不确定的,一旦调用onDestroy()方法,activity就真正销毁了。