Android启动模式

Android启动模式

Standard 标准模式

Android创建Activity时的默认模式。每次启动一个Activity都会又一次创建一个新的实例入栈,无论这个实例是否存在。

每次被创建的实例Activity 的生命周期符合典型情况,它的onCreate、onStart、onResume都会被调用。

SingleTop 栈顶复用模式

须要创建的Activity已经处于栈顶时,此时会直接复用栈顶的Activity。不会再创建新的Activity;若须要创建的Activity不处于栈顶,此时会又一次创建一个新的Activity入栈,同Standard模式一样

若栈顶的Activity被直接复用时,它的onCreate、onStart不会被系统调用,由于它并没有发生改变。可是一个新的方法 onNewIntent会被回调(Activity被正常创建时不会回调此方法)。

SingleTask 栈内复用模式

若须要创建的Activity已经处于栈中时,此时不会创建新的Activity,而是将存在栈中的Activity上面的其他Activity所有销毁,使它成为栈顶。

同SingleTop 模式中的情况一同样。仅仅会又一次回调Activity中的 onNewIntent方法

SingleInstance 单实例模式

全局单例模式,是一种加强的SingleTask模式。它除了具有它所有特性外,还加强了一点:具有此模式的Activity仅仅能单独位于一个任务栈中

这个经常使用于系统中的应用,比如Launch、锁屏键的应用等等,整个系统中仅仅有一个

启动模式的使用方式

Manifest.xml文件

Manifest.xml文件里声明Activity的同一时候指定它的启动模式

<activity android:name="..activity.MultiportActivity" android:launchMode="singleTask"/>
启动Activity时

在Intent中指定启动模式去创建Activity,优先级高

	    Intent intent = new Intent();
        intent.setClass(context, MainActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值