在Android中,目前Activity共有4種加栽模式:standard、singleTop、singleTask和singlelnstance。
standard加栽模式是Activity的默認加載模式,在加載時會創建一個新的Activity的
實例,類似於調用startActivity()方法時設置Intent的標誌位為Intent.FLAG_ACTIVITY_NEW_TASK。發起standard加載模式的示例如下:
Intent i = newIntent();
i.setFlage(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
singleTop加載模式表示當前Activity的實例處於前臺並可視時,該
實例會收到發送過來的Intent消息,其接收方法如下:
protected void onNewlntent(Intent intent){
super.onNewIntent(intent);
...
}
singleTask加載加載模式表示當前Activity找(Task)屮當前
Activity實例運行時,該實例會收到相應的Intent消息,接收方法類似於singleTop加載模式。發
起sing丨eTask加栽模式的
示例如下:
Intent i=new intent。;
i.setPlags(Intent.flag_ACTIVITY_brought_to_front);
startActivity(i);
singlelnstance加載模式表示該Activity以單子模式加載,在當前Activity棧中唯一,接收方法類似於singleTop加載模式。
為了保證Activity在系統運行時能正常加載,必須在AndroidManifest.xml中聲明所有需要加栽的Activity,方法如下:
<activity>
android:label="string/app_name"
android:launchModea=singleInstancen
//忽略重力傳感器和被鍵盤隱藏等變化
android:configChanges="orientation|keyboardHidden">
/<activity>在通常情況下,當單個應用中包含的文件較多時,通常需創建子文件夾進行區分,如對com.miaozl.test應用而言,將實現Activity的文件放在ui文件夾下
,將實現Service、Provider考的文件放在Service文件夾下,將實現的一些自定義視圖放在view文
件夾下,將實現的一些工具文件放置在util文件夾下。這樣在加載Activity等時,聲明的方法略有不同,具體如:
//注意“ui”前面的表示當前目錄
<activity>
android:label="@string/app_namen
android:configChanges="orientation|keyboardHidden">
/<activity>本文摘自絡茄網:http://www.luoqie.com
閱讀更多 互聯網雲時代 的文章