Android 四大组件之——Acitivity(二) 启动模式
生活随笔
收集整理的這篇文章主要介紹了
Android 四大组件之——Acitivity(二) 启动模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Activity的啟動模式共有4種 分別為???standard、singleTop、singleTask、singleInstance?;
四種啟動模式的配置都在Manifest文件中配置,配置模板為
<activity android:name=".DemoActivity" android:launchMode="這里寫啟動的模式" /> 這樣就可以配置好啟動模式了
standard模式
?配置:在配置文件中添加standard啟動模式
<activity android:name=".DemoActivity" /> //一般省略不寫 android:launchMode="standard"描述:默認標準的啟動模式, 每次startActivity都是創建一個新的activity的實例。
? ? ?? 應用場景:適用于絕大大數情況
singleTop模式
配置:?
<activity android:name=".DemoActivity" android:launchMode="singleTop" />
描述: 單一頂部,如果要開啟的activity在任務棧的頂部已經存在,就不會創建新的實例,而是調用 onNewIntent() 方法。
?應用場景:瀏覽器書簽。 避免棧頂的activity被重復的創建,解決用戶體驗問題。
singletask模式
配置:? <activity android:name=".DemoActivity" android:launchMode="singleTask" />描述:單一任務棧 , activity只會在任務棧里面存在一個實例。如果要激活的activity,在任務棧里面已經存在,就不會創建新的 activity,而是復用這個已經存在的activity,調用 onNewIntent() 方法,并且清空當前activity任務棧上面所有的activity。?注意: activity還是運行在當前應用程序的任務棧里面的。不會創建新的任務棧。
應用場景:瀏覽器activity, 整個任務棧只有一個實例,節約內存和cpu的目的
singleInstance模式
配置:? activity android:name=".DemoActivity" android:launchMode="singleInstance" />描述:?單一實例,整個手機操作系統里面只有一個實例存在。不同的應用去打開這個activity共享 公用的同一個activity。
? ? ? ? ? ? ? 他會運行在自己單獨,獨立的任務棧里面,并且任務棧里面只有他一個實例存在。
應用場景:呼叫來電界面 InCallScreen
感謝大家的的閱讀,下一篇將為大家深入了解Activity
總結
以上是生活随笔為你收集整理的Android 四大组件之——Acitivity(二) 启动模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 四大组件之——Aciti
- 下一篇: Android 四大组件之——Aciti