Android的启动模式(上)】的更多相关文章

1. 基本介绍 大家平时只要懂一点Android知识的话,都一定会知道,一个应用的组成,往往包含了许多的activity组件,每个activity都应该围绕用户的特定动作进行跳转设计.比如说,一个电话通讯录的应用可能有一个总体展示电话录上所有存储的姓名的activity,当用户选择指定的姓名时,可以启动另一个新的activity用来展示选中此姓名的详细内容.当然,一个activity也可以用来打开同一台手机但存在在其它应用的activity,比如,你的应用想要发送一份邮件时,可以定义一个inte…
最近有群里的朋友问我 Activity的四种启动模式分别是什么意思? 当初因为项目比较忙,草草的解释了下, Api文档中说的也只是一般,在这里就小记一下吧,以便有更多的朋友对Activity启动模式了解深刻一点.度娘的时候 就可以找得到不需要在 问人了.如果不了解的话,简单的几句也说不清晰. Activity 四种启动模式,分别为:standard .singleTop.singleTask.singleInstance. 一 : standard 模式:这个就没有什么好说的了,Android默…
Android中的启动模式(下) 在这篇文章中,我会继续跟大家分享有关于Android中启动模式的相关知识.当然,如果对这个启动模式还不完全了解或者没有听过的话,可以先看看我之前写的有关于这个知识点的入门篇Android的启动模式(上).好了,言归正传,在上一篇已经介绍过,activity在栈中默认不能重排,因此,应用中的一个activity可能被多次实例化并且压入同一个栈中,如图所示: 如果此时使用back键返回,activity的每个实例都将会按照打开的顺序重新出现.这势必会导致用户生体验效…
启动模式简单地说就是Activity启动时的策略,在AndroidManifest.xml中的<Activity>标签的android:launchMode属性设置: 启动模式有4种,分别为standard.singleTop.singleTask.singleInstance: Activity启动模式设置: <activity android:name=".MainActivity" android:launchMode="standard"…
相关的基本概念: 1.任务栈(Task)   若干个Activity的集合的栈表示一个Task.   栈不仅仅只包含自身程序的Activity,它也可以跨应用包含其他应用的Activity,这样有利于保障用户体验,维护用户操作体验上的完整性.例如:微信ActivityA 分享文章到QQActivityB,两个activity是存在于不同app中的,但是被系统放在一个任务中,分享后,用户按back键返回,可以返回到原来的微信Activity A中,这就确保了用户体验.   2.查看当前系统的任务栈…
先看一下standard启动模式的说明: 仅仅有一个实例.在同一个应用程序中启动他的时候.若不存在此Activity实例.则会在当前栈顶创建一个新的实例.若存在,则会把栈中在其上的其他Activity实例销毁掉,并调用此实例的OnNewIntent方法,假设实在别的应用实例中启动它.则会新建一个栈,并在该栈中启动这个Activity,然后我在这个Activity实例中再打开新的Activity这个新的实例会在一个栈中 我们首先通过一个实例理解这句:仅仅有一个实例.在同一个应用程序中启动他的时候,…
在了解了基本的Activity的生命周期后,我们能够很好的在一个Activity上面做相关的业务.但是这是不够的,因为Android通过任务栈来保存整个APP的Activity,合理的调度任务栈才能够提供良好的用户体验.而栈的结构,相信大家都知道——先进后出的线性表,新启动的Activity会位于任务栈的栈顶,处于活动的状态,其他的Activity虽然不在活动状态了,但是依然保留在任务栈中,处于停止的状态(也就是onStop被触发了,但是onDestory没有被触发). 一般情况下,返回键和调用…
<activity android:name=".MainActivity" android:launchMode="singleTask"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER&q…
Activity启动模式      .概念      Activity启动模式定义了Activity启动的规则,它决定着Activity的实例创建与重用与否    .属性     Activity的启动模式在menifest.xml中的<activity>标签中设置,属性为launchMode    .分类     Activity的启动模式分为四类: standard . singleTop . singleTask . singleInstance     .备注     Android采…
在android中,android活动是以栈的方式进行存储,在栈中的活动不断被重新激活至前台和不断被终止也不断被排序.因此对于栈中的活动管理也是一个比较麻烦的事情. android给我们提供了两类活动启动方式, 1.将活动重新排序,Intent.FLAG_ACTIVITY_REORDER_TO_FRONT 如果启动活动栈中已经存在的活动,则在原栈的基础上将此活动置于栈顶, 如果启动活动栈中不存在此活动,则创建该活动并将其置于栈顶. 2.清除已存在的活动Intent.FLAG_ACTIVITY_C…