美文网首页
Android 启动模式

Android 启动模式

作者: 小小卒_oO_ | 来源:发表于2019-03-18 11:30 被阅读0次

1.Standard(标准模式):启动Activity,即新建一个新的实例入栈。
2.SingleTop(栈顶复用):要启动的Activity若在栈顶,直接复用。若不在,则新建入栈。
3.SingleTask(栈内复用):要启动的Activity若在栈中,复用并弹出它上面的其他Activity。
4.SingleInstance(单实例):使用单独的一个任务栈。

使用方法:

  • 1.静态指定:
<activity android:name="..activity.MultiportActivity" android:launchMode="singleTask"/>

可对应使用上面的4种模式。

  • 2.动态启动(优先级高):
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

FLAG_ACTIVITY_SINGLE_TOP对应SingleTop
FLAG_ACTIVITY_NEW_TASK使新启动的 Activity 独立创建一个 Task;
FLAG_ACTIVITY_CLEAR_TOP清除上面的Activity,一般结合 FLAG_ACTIVITY_NEW_TASK 一起使用。

*复用时会回调Activity中的onNewIntent方法。
*可用taskAffinity属性,指定任务栈。MainActivity没有指定taskAffinity属性,默认为包名。

<activity
     android:name=".SingleTaskActivity"
     android:launchMode="singleTask"
     android:taskAffinity="${applicationId}.singleTask"/>

参考:
https://www.cnblogs.com/claireyuancy/p/7387696.html
https://blog.csdn.net/sinat_14849739/article/details/78072401
https://www.jianshu.com/p/b60d8097e519

相关文章

网友评论

      本文标题:Android 启动模式

      本文链接:https://www.haomeiwen.com/subject/halrmqtx.html