`
janla
  • 浏览: 114494 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

浅谈Activity几种不同的启动方式

阅读更多
开发者在设计之初可以决定用户与应用程序的交互方式,其中包括如何选着程序启动入口以及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性能优化之启动过程(冷启动和热启动)

    Android 应用程序的启动方式可以分为两种:冷启动和热启动。 1. 冷启动:当启动应用程序时,后台没有该应用程序的进程,这时系统会重新创建一个新的进程分配给该应用程序,这个启动方式就是冷启动。在冷启动中,...

    activity的启动方式

    本文将详细讲解Activity的几种启动模式及其特点。 1. **标准模式(Standard)** 这是Activity的默认启动模式,每次启动都会创建一个新的实例。如果栈中已有该Activity的实例,系统会创建新的实例并将其压入栈顶。...

    activity四大启动方式demo

    "activity四大启动方式demo"指的是展示如何通过四种不同的启动模式来启动一个Activity。这些模式影响着Activity的生命周期以及在任务栈(Task)中的行为。下面将详细解释这四种启动模式及其在实际开发中的应用场景。...

    activity的四种启动模式

    了解和掌握Activity的四种启动模式对于优化用户体验和应用性能至关重要。 1. **standard模式** 这是最常见的启动模式,也是默认模式。在standard模式下,每当用户通过意图(Intent)启动Activity时,系统都会创建...

    Activity四种启动模式

    本文将深入探讨Activity的四种启动模式:标准模式(Standard)、单实例模式(SingleInstance)、单任务模式(SingleTask)和单栈顶模式(SingleTop),并结合博客《Activity四种启动模式》中的内容进行详细解释。...

    activity四种启动模式

    Activity的启动模式是Android系统管理Activity实例的重要方式,它决定了Activity如何被创建、如何在任务栈中组织以及如何响应用户的操作。本篇文章将深入探讨Activity的四种启动模式:标准模式(Standard)、单实例...

    android中的Activity启动方式

    Android总Activity的启动模式分为四种: Activity启动模式设置: <activity android:name=".MainActivity"android:launchMode="standard" /> Activity的四种启动模式: 1.standard 模式启动模式,每次激活...

    从application启动activity

    在处理启动Activity的过程中,还需注意以下几点: 1. **权限管理**:如果启动的Activity需要特定权限,记得在AndroidManifest.xml中声明这些权限。 2. **任务栈管理**:通过Intent的FLAG_ACTIVITY_NEW_TASK标志...

    android activity4种启动模式测试

    Android提供了四种不同的启动模式:标准模式(Standard)、单实例模式(SingleTop)、单任务模式(SingleTask)和单栈顶模式(SingleActivity)。下面我们将详细探讨这四种模式的特性和应用场景。 1. **标准模式...

    Activity启动方式

    本文将深入探讨`Activity`的启动方式,以及如何通过设置`launchMode`属性来控制其行为。 首先,让我们来看看标题中提到的"Activity启动方式"。在Android中,`Activity`有四种基本的启动模式: 1. **standard(默认...

    Activity生命周期与启动模式

    让我们深入探讨Activity的7大生命周期以及4种启动模式。 **Activity生命周期** Activity的生命周期包括了从创建到销毁的各个阶段,主要有以下7个关键状态: 1. **创建(Created)**:当Activity首次被创建时,会...

    Android 启动activity的4种方式及打开其他应用的activity的坑

    standard是最常见的activity启动方式,也是默认的启动的方式。当启动一个activity的时候他将进入返回栈的栈顶。系统不会管栈内是否有相同的activity,方式像后入先出。 singleTop方式是在活动启动的时候,系统先...

    android Activity 四种启动模式例子

    本项目提供了对Android Activity四种启动模式的实例演示,让我们逐一深入理解这四种模式。 1. standard(标准模式) 这是Activity的默认启动模式。在standard模式下,每次启动一个Activity都会创建一个新的实例,...

    Activity四种启动模式Demo

    本示例代码详细展示了Activity的四种启动模式:标准模式(Standard)、单实例模式(SingleInstance)、单任务模式(SingleTask)和单栈顶模式(SingleTop)。 1. 标准模式(Standard): 这是Activity的默认启动...

    活动的四种启动方式

    本文将深入探讨Android Activity的四种启动模式:Standard、SingleTop、SingleTask和SingleInstance,帮助新手理解和记忆。 1. Standard(标准模式): 这是Activity最基础的启动模式,默认情况下所有新创建的...

Global site tag (gtag.js) - Google Analytics