开发者在设计之初可以决定用户与应用程序的交互方式,其中包括如何选着程序启动入口以及Package中所包含的Activities。众所周知,应用程
序是一系列有着特定功能的Activities组成,它们有自己的属性和行为。用户可以在Home中通过启动快捷方式将当前进程引入特定的
Activites,或者可以在其它程序进程中启动外部的Activities。有的人会问,了解程序的启动方式有用吗?当然,了解不同的启动方式才能更
好的根据需要设计Activities。
下边将介绍五种与其相关的设计模式:
* 通过Home中的快捷方式图标(或者下拉的Application
Launcher)启动:这是最常见的启动方式,而且代表程序具备独立的运行条件。通常会在Manifest中指定某个Activity的
android.intent.category属性为Launcher。
*
在其它程序中间接启动:这体现了Activities在Android中一个非常重要的特性“重用性”,例如:用户在当前的操作过程中希望将特定的信息通
过Email的方式发送给好友,一般情况下会利用系统默认的处理邮件Activity响应这项请求,如果恰巧此时系统中存在其它类似intent-
filter的Activites,那么将会提供给用户一个可选择的对话框,用户可以根据需要启动恰当的应用程序,这个过程可以看作为间接的启动
Applications。或者在预知当前系统配置的情况下,直接应用(startActivity()
或者startActivityForResult())启动特定的Activity。
o StartActivity(): 通过这种方式启动应用程序可以看作为独立运行于系统中,启动它的parent无需得到其所运行的返回值,更具体的讲是一个Standalone的应用程序启动了另一个有着同样Standalone特性的程序。
o StartActivityForResult():
通过方法的命名可以很直观的看到,其最大的作用是当启动了某个Activity后,parent依然关联着当前进程所处理的Activity。当操作完成
后,会有特定的返回值作为Parent响应某些Events的结果。(Androidres.com)
*
强制程序仅以被其它程序调用的方式启动(没有直接的启动入口):在系统中有相当一部分的应用程序需要有严格的运行条件(Context),其无法以
Stand
alone的方式独立运行于进程中。具备这种特性的Application大体上分为两种:其一,带有特定返回值的应用程序。parent出于当前操作需
要,通过启动其它Application来获得某些特定的资源。例如:输入法或者文件资源选择器等。另外一种情况,经常被调用来修改系统设置或者提供单一
有特定目的的操作。这样的Application无需在Home中提供快捷启动方式,其仅仅被其它某些程序在特定的需求下来满足需求。例如:更换系统铃音
程序。
* 在一个Application中包含有多个Mian
Activities,并且各自具备有独立的启动入口:很多开发者都习惯于默认的开发配置,一个Application仅仅包含一个独立的应用。然后在特
定的需求下可以打破这个限定,系统允许开发者将多个 Main Activities应用捆绑在同一个Application中,而且这些Main
Activities可以在Home中有独立的启动快捷方式。然而有非常重要的一点需要特别强调,这种方式并不提倡在任何情况下采用,一般当两个应用程序
需要调用相同的系统资源或者包含有大部分相同功能的应用时,才可以考虑采用这种方式来简化用户的安装过程(另外一个角度来看,起到优化系统资源的目的)。
技术上需要注意为不同的Main Activity定义不同的Task
affinity。例如:Camera和Camcorder,它们共同使用摄像头,而且同样采用Gallery作为资源管理器,他们的Task
Affinity分别设置为:”com.android.camera” 和 “com.android.videocamera”。
* 以Widget的方式体现Activity的应用价值:严格意义上来看,这的确算得上是一种启动方式,某些Application将部分常用的功能以Widget的形式在Home或者其它Application中被引用。
以上是Android系统中在不同的需求下来启动Activity的方式,开发者可以根据特定的需求为Application设定一种恰当的启动方式来充分的“为人民服务”。
转载请署名文章来自Androidres.com,并于标题前注明“【转载】”
分享到:
相关推荐
Android总Activity的启动模式分为四种: Activity启动模式设置: <activity android:name=".MainActivity"android:launchMode="standard" /> Activity的四种启动模式: 1.standard 模式启动模式,每次激活...
本篇文章主要介绍了浅谈android性能优化之启动过程(冷启动和热启动) ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
activity四种启动模式,
activity的启动方式,支持一下,谢谢
在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。 本文档讲解Android中Activity的启动模式
standard是最常见的activity启动方式,也是默认的启动的方式。当启动一个activity的时候他将进入返回栈的栈顶。系统不会管栈内是否有相同的activity,方式像后入先出。 singleTop方式是在活动启动的时候,系统先...
从application启动activity
Android组件Activity四种启动模式的介绍与使用方法
安卓Activity活动的四种启动方式,适合新手理解记忆活动的四种启动方式。
activity 的四种启动模式介绍,分别详细的介绍启动模式的作用和用法等
android activity4种启动模式测试 一个演示启动模式的demo,结合博文,可以很方便的熟悉各种启动模式之间的差异。
Activity启动方式,短信可以分屏,Contacts不允许分屏
Activity7大生命周期与4种启动模式(standard,singleTop,singleTask,singleIntance)
Activity跳转 四种跳转方式
浅谈Android的Activity运行流程(生命周期)
清晰的Log打印出执行了哪些方法,并且打印出了taskID
Android中Activity的四种启动模式案例!