編輯:關於Android編程
>Activity的啟動模式,是用來修改任務棧的排列情況
在清單文件中,可對Activity的啟動模式進行設置,如:
注:其中launchMode屬性就是用來修改其啟動模式的
四種啟動模式的特點如下:
1> standard 標准啟動模式
標准啟動模式遵循棧的特點,先進後出
2> singleTop 單一頂部模式如果任務棧的棧頂存在這個要開啟的activity,不會重新的創建activity,而是復用已經存在的activity。
保證棧頂如果存在,不會重復創建;如果activity不在棧頂,盡管先前已經創建了,其還是會重復創建
應用場景:浏覽器的書簽當開啟activity的時候,就去檢查在任務棧裡面是否有實例已經存在,如果有實例存在就復用這個已經存在的activity,
並且把這個activity上面的所有的別的activity都清空,復用這個已經存在的activity。保證整個任務棧裡面只有一個實例存在
應用場景:浏覽器的activity如果一個activity的創建需要占用大量的系統資源(cpu,內存)一般配置這個activity為singletask的啟動模式。
注:前面三種模式的范圍是在每個應用中,只會創建一個任務棧,
第四種模式singleInstance則是在整個操作系統中只會存在一個activity實例
4> singleInstance啟動模式非常特殊, activity會運行在自己的任務棧裡面,並且這個任務棧裡面只有一個實例存在
若你想創建多個activity,它並不會重復創建,只是從後台移動到了前台,如果你點擊返回鍵,銷毀了這個activity,那麼
其就不會存在了!含有activity的這個新任務棧也不會存在了!
如果你要保證一個activity在整個手機操作系統裡面只有一個實例存在,使用singleInstance
從前面Android編譯系統環境初始化過程分析這篇文章可以知道,lunch命令其實是定義在build/envsetup.sh文件中的函數lunch提供的。與
這是一個一言不合就手撸一個自定義View的任性時代,因此最近一段時間一直在學習自定義View相關的知識,也看了很多與此相關的博客,有句話叫做不要重復造輪子,別人寫好的直接
我們在創建AVD時,在命令行窗口中輸入android list targets會提示:android不是內部或外部命令,如圖1,其實這主要是由於
手機QQ2015安卓版最近有了一個很大的更新,我們會驚奇的發現自己的手機QQ2015軟件無論是在軟件功能上還是軟件界面上都有了很大的變化,頁面的布置跟以前有