Intent,一个与基本组件相关联的数据对象。Intent指定要开辟的目标组件。IntentFilter用于过滤。
Intent是安卓程序的组件间进行交互的一种方式。不仅仅可以指定当前组件想要执行的动作还可以传递数据。Intent一般用户启动活动,启动服务,发送广播等场景。
关于隐式Intent的使用,并不去明确的指定启动哪一个活动,而是指定更为抽象的action和category,交由系统去分析,并帮组我们找到合适的活动去启动。只有action和category中的内容同时匹配intent中指定的action和category这个活动才能相应该intent。
使用隐式的intent,不仅仅可以启动自己程序内的活动还可以启动其他的程序活动。这使得安卓的多个应用程序之间的功能共享称为可能。
深入理解活动的生命周期,合理的管理应用资源。
活动的启动模式,可以在manifest.xml文件中通过给标签指定android:launchMode属性来启动模式。
Standard模式:也是默认模式,每启动一个新的活动,在返回栈中入栈,并且处于栈顶的位置。
SingleTop模式:如果启动活动时候发现在返回栈的栈顶已经是该活动,就可以直接使用,而不需要创建新的。
SingleTask模式:每次启动活动的时候,系统首先会在返回栈中检查是否存在该活动的实例,如果存在就直接使用,并且把在这个活动之上的所有活动统统出栈。
SingleInstance模式:主要解决共享实例的问题。指定为singleInstance模式的活动会启动新的返回栈来管理这个活动。假如有一个活动是允许其他程序调用的,实现其他程序和我们程序公用这个活动的实例。