Activity四种启动模式的区别

1)Activity的模式配置 

<activity

            android:launchMode="standard"
            android:name="com.example.test.StandardActivity"
             android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />


                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        
         <activity
             android:launchMode="singleTop"
            android:name="com.example.test.SingleTopActivity"
            android:label="@string/app_name" >
        </activity>
        
         <activity
             android:launchMode="singleTask"
            android:name="com.example.test.SingleTaskActivity"
            android:label="@string/app_name" >
        </activity>
        
         <activity
             android:launchMode="singleInstance"
            android:name="com.example.test.SingleInstanceActivity"
            android:label="@string/app_name" >

        </activity>

2) 四种模式的解释 

standard默认启动模式,这种模式的Activity的时候都是重新创建一个Activity的实例(简单来说每次都会执行onCreate方法)


singleTop栈顶模式:如果Activity在栈顶,则该Activity不会重新创建,而是直接用次Activity(此时启动activity不会执行onCreate方法,但是会先执行onPause()方法后执行onResume()方法)


singleTask栈缓存模式:这种模式当启动该Activity时会去栈队列中去查找该Activity是否存在,如果不存在会新建一个Activity(此时会调用onCreate方法),否则直接启动栈队列中的Activity(此时不会调用onCreate()方法)


④singleInstance单例模式:这种模式会把Activity单独存储到栈中,即用即拿系统只实例一次该Activity(onCreate方法只会被调用一次)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值