android activity知识总结

活到老学到老!!

activity作为android四大组件之一,全面的了解其基础知识势在必行,看了任玉刚的开发艺术,做个简单的总结。

1、activity的生命周期。
2、activity的启动模式。
3、activity的匹配规则。

生命周期:
分典型模式和异常模式,典型模式不多说,异常模式为在用户参与的过程中使activity的生命周期发生的变化,

典型模式:
onCreate:创建activity,我们可以在这里做一些初始化任务,例如view data listener等。
onRestart: 重新启动,从不可见到可见,
onStart:正在被启动,已经显示出来了,但是还不可见,
onResume:actviity已经到前台了,可以交互。
onPause: 正在停止,可以做一些动画停止,数据存储的操作,但是不可以耗时。因为会影响新的activity的显示,onPause 必须先执行完毕新的activity的Resume才会执行。
onStop:即将停止,可以做一些重量级人物。
onDestroy:即将被销毁,可以做一些回收工作和资源释放。

异常模式: 当然可以设置阻止activity被重新创建。
两种情况:
1、资源相关的系统配置发生改变导致activity被杀死并重新创建。

    引起系统配置发生改变的有:
    sim卡、系统语言、键盘、字体、屏幕旋转、导航等,这里只是罗列常见的一些。

2、内存不足导致的低优先级的activity被杀死。

异常模式会有两个方法被调用:
onSaveInstanceState: 存储数据
onRestoreInstanceState:恢复数据
启动模式

四种启动模式:
standard:每次启动都会创建一个实例,不管是否已经存在。
singleTop:栈顶复用模式,如果要启动的activity位于栈顶,不会创建新的实例,同时调用他的onNewIntent方法。我们可以从这个方法中获得当前请求信息。
singleTask:栈内复用模式,只要activity在一个栈中存在,每次启动就不会创建实例。类似单例模式,注意该模式具有clearTop效果,如果该activity已经存在但是不是在栈顶,就会让该activity到栈顶并且调用其哦你NewIntent方法,同是该activity上面的activity全部出栈。
singleInstance:是一个加强的singleTask模式,区别在于该activity只能单独位于一个任务栈中。

Activity的Flags

FLAG_ACTIVITY_NEW_TASK:指定activity为“singleTask”模式。

FLAG_ACTIVITY_SINGLE_TOP:指定为singleTop模式,

FLAG_ACTIVITY_CLEAR_TOP:当启动activity的时候,同一个任务栈中所有位于他上面的activity都会出栈,一般需要和FLAG_ACTIVITY_NEW_TASK配合使用,

FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS:不会出现在历史Activity中,也就是长按home键不会调出该activity。

IntentFilter匹配规则
intentFilter中过滤的信息有:action category data.

action:匹配的是字符串,系统预定义了一些action,同时我们也可以在代码中自己定义action,匹配规则:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值