AndroidManifest具體解釋之Application(有圖更好懂)
- <activity>
- <activity-alias>
- <service>
- <receiver>
- <provider>
- <uses-library>
經常使用的屬性:
android:process
默認情況下,Android為每一個應用程序創建一個單獨的進程,全部組件執行在該進程中,這個默認進程的名字通常與該應用程序的包名同樣。比方
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.lt.mytest" >
設置該屬性能夠使得本應用程序與其他應用程序共享同樣的進程,只當這兩個應用程序也共享一個擁有同樣簽名的UserId。
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:sharedUserId="android.uid.phone" >與其他應用程序共享的一個Linux User Id的名字。
默認情況下,Android為每一個應用程序分配一個唯一的User Id。
然而。假設有多個應用程序都將該屬性設置為一個同樣的值,那麽它們將共享同樣的Id。
假設這些應用程序再被設置成執行在一個同樣的進程,它們便能夠彼此訪問對方的數據。
android:allowbackup
是否將程序增加到系統的備份和恢復架構中。
android:taskAffinity
Activity的歸屬,也就是Activity應該在哪個Task中,Activity與Task的吸附關系。默認假設沒有設置taskAffinity。則taskAffinity跟包名是一樣的
taskAffinity 和 FLAG_ACTIVITY_NEW_TASK可用來決定activity啟動時是否須要新建一個task。
我們分四種情況看一下這兩個標誌對啟動activity的影響:(前提:從MainActivity中啟動ActivityA)
1)、兩個標誌都不設置
2)、有FLAG_ACTIVITY_NEW_TASK
3)、無FLAG_ACTIVITY_NEW_TASK有taskAffinity (不同於MainActivity)
4)、有FLAG_ACTIVITY_NEW_TASK有taskAffinity
註意上面的標誌都是針對於啟動的ActivityA。FLAG_ACTIVITY_NEW_TASK 是在啟動ActivityA的Intent中設置的,taskAffinity 是在AndroidManifest中ActivityA中設置,另外註意這裏兩個actiity的啟動模式都設置為standard
1、先看第一中情況:
主要代碼:
<activity android:name=".ActivityA" android:launchMode="standard" android:label="@string/title_activityA"> <intent-filter> <action android:name="com.leaves.ipanel.ActivityA"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity>MainActivity啟動activity
public void onClick(View arg0) { // TODO Auto-generated method stub Log.i(TAG, "--onClick--task id = " + getCurrentTaskId()); Intent intent = new Intent("com.leaves.ipanel.ActivityA"); startActivity(intent); }啟動A之後的堆棧:
2、有FLAG_ACTIVITY_NEW_TASK
我們加入FLAG_ACTIVITY_NEW_TASK
public void onClick(View arg0) { // TODO Auto-generated method stub Log.i(TAG, "--onClick--task id = " + getCurrentTaskId()); Intent intent = new Intent("com.leaves.ipanel.ActivityA"); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); }啟動A之後的堆棧:
3、無FLAG_ACTIVITY_NEW_TASK有taskAffinity (不同於MainActivity)
<activity android:name=".ActivityA" android:launchMode="standard" android:taskAffinity="com.leaves.test.ActivityA" android:label="@string/title_activityA"> <intent-filter> <action android:name="com.leaves.ipanel.ActivityA"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity>
public void onClick(View arg0) { // TODO Auto-generated method stub Log.i(TAG, "--onClick--task id = " + getCurrentTaskId()); Intent intent = new Intent("com.leaves.ipanel.ActivityA"); startActivity(intent); }查看一下啟動A之後的堆棧:
相關推薦
AndroidManifest具體解釋之Application(有圖更好懂)
http lib androidm 設有 組件 schema yml pro sha 可以包括的標簽: <activity> <activity-alias> <service> <recei
AndroidManifest詳解之Application(有圖更好懂)
能夠包含的標籤: <activity> <activity-alias> <service> <receiver> <provider><uses-library>常用的屬
Swift具體解釋之三----------函數(你想知道的都在這裏)
sta down type .com taobao opera ota types ref 函數(你想知道的都在這裏) 註:本文為作者自己總結。過於基礎的就不再贅述 ,都是親自測試的結果。如有錯誤或者遺漏的地方。歡迎指正。一起學習。 1、 函
Swift具體解釋之六----------------枚舉、結構體、類
vbs 元素 zha cannot status popu 錯誤 san more 枚舉、結構體、類 註:本文為作者自己總結。過於基礎的就不再贅述 ,都是親自測試的
【數字圖像處理】五.MFC圖像點運算之灰度線性變化、灰度非線性變化、閾值化和均衡化處理具體解釋
tput rgb 強制轉換 spa ros 例如 read 算法 nload 本文主要講述基於VC++6.0 MFC圖像處理的應用知識,主要結合自己大三所學課程《數字圖像處理》及課件進行解說。主要通過MFC單文檔視圖實現顯示BMP圖片
STL之set具體解釋(二)
基本操作 二叉樹 mono itl 自己 pair leading 左右子樹 ews 首先來看看set集合容器: set集合容器實現了紅黑樹的平衡二叉樹數據結構。在插入元素時它會自己主動調整二叉樹的排列,把該元素放到適當的位置,而且 保證左右子樹平衡。平衡二
Javaweb之 servlet 開發具體解釋1
tom action fig 優先 sync exc http響應 write model 1.1 Tip:Servlet簡單介紹 Servlet是sun公司提供的一門用於開發動態web資源的技術。 Sun公司在其API中提供了一個servlet接口,用戶若想用發一個
Spring之IOC篇章具體解釋
什麽 alt cti 反轉 獲得 ring 這樣的 圖片 多態 專題一 IOC 1.接口以及面向接口編程 a.結構設計中,分清層次以及調用關系,每層僅僅向外(或者上層)提供一組功能接口,各層間僅依賴接口而非實現類這樣做的優點是,接口實現的變動不影響各層
Android 最火框架XUtils之註解機制具體解釋
lean uci 修飾 row 多個 mes 數組 1.2 sans 在上一篇文章Android 最火的高速開發框架XUtils中簡介了xUtils的基本用法,這篇文章說一下xUtils裏面的註解原理。 先來看一下xUtils裏面demo的代碼
MySQL優化之——集群搭建步驟具體解釋
兩個 chgrp 應用服務 集群搭建 ria 進程 ini 而且 必須 轉載請註明出處:http://blog.csdn.net/l1028386804/article/details/46833179 1 概述 MySQL Cluster 是MySQL 適合於
Android簽名機制之---簽名過程具體解釋
先來 文件內容 rfi eating general class stat ket 寫文章 一、前言又是過了好長時間,沒寫文章的雙手都有點難受了。今天是聖誕節,還是得上班。由於前幾天有一個之前的同事,在申請微信SDK的時候,遇到簽名的問題,問了我一下,結果把我難倒了。。我
ARC機制之__strong具體解釋
size 是否可用 導致 引用 才幹 otto pre trac bject ARC機制之__strong具體解釋 __strong 解析: 默認情況下,一個指針都會使用 __strong 屬性,表明這是一個強引用。這意味著,僅僅要引用存在,對象就不能
Android開發之AudioManager(音頻管理器)具體解釋
應該 數量 service eth out 開發 要求 type 路由 AudioManager簡單介紹: AudioManager類提供了訪問音量和振鈴器mode控制。使用Context.getSystemService(Context.AUDIO_SERVICE)
Kinect開發筆記之三Kinect開發環境配置具體解釋
pc2 1.0 微軟 .aspx 技術分享 連接 實驗 family 不同 0、前言: 首先說一下我的開發環境,Visual Studio是2013的,系統是win8的64位版本號,SDK是Kinect for windows
Qt Quick 之 QML 與 C++ 混合編程具體解釋
ack world 避免 pub start 模板方法 另一個 一秒 gis Qt Quick 技術的引入。使得你能夠高速構建 UI ,具有動畫、各種絢麗效果的 UI 都不在話下。但它不是萬能的。也有非常多局限性,原來 Qt 的一些技術,比方低階的網絡編程如 Q
Qt Quick之StackView具體解釋(1)
left 記錄 內部 變化 原創 focus filo 郵箱 sta Qt Quick中有個StackView。我在《Qt Quick核心編程》一書中沒有講到。近期有人問起,趁機學習了一下,把它的基本使用方法記錄下來。 我準備分兩次來講。第一次講主要的
linux命令之head、tail命令具體解釋
-c pri fadein rip lin comment pen inux ont head 語法 樣例 tail 語法 樣例 head和tail組合使用方法舉例 head 語法 head [-n -k ].
結構體指針之 段錯誤 具體解釋(segmentation fault)
編譯 大型 進行 做了 不能 ack 程序 error 堆棧 一個網友問了我一個問題。一個C程序執行出現了段錯誤,這個問題非常好。非常多剛開始學習的人都easy犯這個錯誤,詳細代碼例如以下: 這個編譯沒有問題,可是執行是段錯誤 Segmentatio
Application具體解釋(一)
conf ica his 本地 數據類型 通過 eat pri abstract 1:Application是什麽? App
idea的使用之svn篇--有圖超詳細
記一下idea的svn使用有圖超詳細 根據在eclipse裡使用svn的經驗琢磨了一下idea,現把idea下svn的使用方法記錄如下 主要分為幾個功能來介紹 第一個功能當然是把遠端的svn程式碼拉到我們本地 下面的多出了一個svn的視窗,在左邊有加號可以新增一個