Android启动模式

自己的学习总结,不是很详细,很准确,很官方

一,Android Activity常见的启动模式
1,standard:标准模式:系统默认模式,后进先出,每次启动都会调用onreate(),onstart() onresume(),ActivityA中启动ActivityB,那么就会在ActivityA的栈中压入ActivityB,并创建实例。所以,当用 ApllicationContext去调用ActivityB,会失败,因为ApllicationContext没有栈。解决办法-指定新栈,FLAG_ACTIVITY_NEW_TASK
2,singleTop:栈顶复用:如果被调用的Activity,在栈中有,并且在栈的顶部,那么不会创建Activity实例,而是直接调用。比如一个栈中有ABCD A在栈的顶部,调用A,那么栈里还是ABCD ,如果调用B,栈会变成BABCD
3,singleTask:栈内复用:跟singleTop区别,不只在栈顶才有效,而是栈内都有效,需要注意的是singleTask有cleartop效果,比如 栈内 ABCD,A为栈顶,我调用C,那么执行后的结果为,栈内只有CD,AB会被清除
4,singleInstance:单实例模式,加强的singleTask

二,IntentFiter的作用:
Activity的启动分为显式和隐式,隐式调用的时候需要进行过滤,就用到了IntentFiter
里面常用有有<action /><category/>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。