ÔÚAndroidÖÐÿ¸ö½çÃæ¶¼ÊÇÒ»¸öActivity£¬Çл»½çÃæ²Ù×÷ÆäʵÊǶà¸ö²»Í¬ActivityÖ®¼äµÄʵÀý»¯²Ù×÷¡£ÔÚAndroidÖÐActivityµÄÆô¶¯Ä£Ê½¾ö¶¨ÁËActivityµÄÆô¶¯ÔËÐз½Ê½¡£
Android×ÜActivityµÄÆô¶¯Ä£Ê½·ÖΪËÄÖÖ£º
ActivityÆô¶¯Ä£Ê½ÉèÖãº
<activity android:name=".MainActivity" android:launchMode="standard" /> |
ActivityµÄËÄÖÖÆô¶¯Ä£Ê½£º
1. standard
ģʽÆô¶¯Ä£Ê½£¬Ã¿´Î¼¤»îActivityʱ¶¼»á´´½¨Activity£¬²¢·ÅÈëÈÎÎñÕ»ÖС£
2. singleTop
Èç¹ûÔÚÈÎÎñµÄÕ»¶¥ÕýºÃ´æÔÚ¸ÃActivityµÄʵÀý£¬ ¾ÍÖØÓøÃʵÀý£¬·ñÕ߾ͻᴴ½¨ÐµÄʵÀý²¢·ÅÈëÕ»¶¥(¼´Ê¹Õ»ÖÐÒѾ´æÔÚ¸ÃActivityʵÀý£¬Ö»Òª²»ÔÚÕ»¶¥£¬¶¼»á´´½¨ÊµÀý)¡£
3. singleTask
Èç¹ûÔÚÕ»ÖÐÒѾÓиÃActivityµÄʵÀý£¬¾ÍÖØÓøÃʵÀý(»áµ÷ÓÃʵÀýµÄonNewIntent())¡£ÖØÓÃʱ£¬»áÈøÃʵÀý»Øµ½Õ»¶¥£¬Òò´ËÔÚËüÉÏÃæµÄʵÀý½«»á±»ÒƳýÕ»¡£Èç¹ûÕ»Öв»´æÔÚ¸ÃʵÀý£¬½«»á´´½¨ÐµÄʵÀý·ÅÈëÕ»ÖС£
4. singleInstance
ÔÚÒ»¸öÐÂÕ»Öд´½¨¸ÃActivityʵÀý£¬²¢Èöà¸öÓ¦Óù²Ïí¸ÄÕ»ÖеĸÃActivityʵÀý¡£Ò»µ©¸ÄģʽµÄActivityµÄʵÀý´æÔÚÓÚij¸öÕ»ÖУ¬ÈκÎÓ¦ÓÃÔÙ¼¤»î¸ÄActivityʱ¶¼»áÖØÓøÃÕ»ÖеÄʵÀý£¬ÆäЧ¹ûÏ൱ÓÚ¶à¸öÓ¦ÓóÌÐò¹²ÏíÒ»¸öÓ¦Ó㬲»¹Ü˼¤»î¸ÃActivity¶¼»á½øÈëͬһ¸öÓ¦ÓÃÖС£
standard
ÆäÖÐstandardÊÇϵͳĬÈÏµÄÆô¶¯Ä£Ê½¡£
ÏÂÃæÍ¨¹ýʵÀýÀ´ÑÝʾstandardµÄÔËÐлúÖÆ£º
private TextView text_show;
private Button btn_mode;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text_show = (TextView) this.findViewById(R.id.text_show);
text_show.setText(this.toString());
btn_mode = (Button) this.findViewById(R.id.btn_mode);
}
//°´Å¥µ¥»÷ʼþ
public void LaunchStandard(View v){
startActivity(new Intent(this,MainActivity.class));
text_show.setText(this.toString());
}
|
³õʼ»¯½çÃæÈçÏ£º

µ±µã»÷°´Å¥Ê±£¬»á´´½¨ÐµÄActivity£¬Í¨¹ýTextView@ºó16½øÖÆÊýµÄÏÔʾ¼´¿É¿´³ö£¬µã»÷Á½´Î·Ö±ð½çÃæÈçÏÂ:


´Ëʱ£¬ÎÒÃÇ·ÖÎöÕ»ÄÚ²¿µÄÔËÐлúÖÆ£º£¨ÒÀ´Î´ÓÕ»¶¥ÏòÉÏ£©

Òò´Ë£¬ÕâÖÖStandardģʽÊÇÿ´Î¶¼»á´´½¨ÐµÄActivity¶ÔÏ󣬵±µã»÷·µ»Ø°´Å¥Ê±£¬Ëû»á½«Õ»¶¥(µ±Ç°Activity)ÏûÃð£¬È»ºóÌø
µ½ÏÂÒ»²ã£¬ÀýÈçÈç¹ûÏÖÔÚActivityÊÇ44ed8c50£¬ÄÇôµ±ÎÒÃǵã»÷·µ»ØÊ±Activity»á±äΪ44f28a48£¬²»¹ý´ËʱÔÚÕâ¸ö
ActivityÖÐÔٴεã»÷°´Å¥´´½¨¶ÔÏóʱ£¬Ëü»áÁíÍâ´´½¨ÐµÄActivity¶ÔÏó£¬ÕâÖÖģʽ¿ÉÄÜ´ó¶àÊýÇé¿öϲ»ÊÇÎÒÃÇÐèÒªµÄ£¬ÒòΪ¶ÔϵͳÐÔÄܵÄÏûºÄ¹ý
´ó¡£
ÏÂÃæÎÒÃǽéÉÜÁ½ÖÖÄÜʹÓõ±Ç°Õ»ÖÐActivityµÄÆô¶¯Ä£Ê½£º
singleTop
´ÓÉÏÃæµÄ½âÊÍÖм´¿ÉÖªµÀ£¬ÔÚÿ´ÎʹÓÃеÄActivityʱ»á×Ô¶¯¼ì²âÕ»¶¥µÄµ±Ç°ActivityÊÇ·ñÊÇÐèÒªÒýÓõÄActivity£¬Èç¹ûÊÇÔòÖ±½ÓÒýÓôËActivity£¬¶ø²»»á´´½¨ÐµÄActivity¡£
ÎÒÃÇÔڸղŵĽçÃæÖмÓÈëÒ»¸ö¡±Æô¶¯singletopģʽ¡±°´Å¥£¬µ±µã»÷ʱ³öÏÖÎÒÃÇ´´½¨µÄsingletopÖУ¬ÔÚActivity
singletopÖÐÓÐÒ»¸ö°´Å¥£¬Æô¶¯singletopģʽ£¬±íʾÆô¶¯µ±Ç°Activity£¬ÓÉÓÚÎÒÃÇÔÚÇåµ¥ÎļþÖÐÅäÖÃActivityµÄÆô¶¯Ä£Ê½Îª
singleTop£¬Òò´Ë´Ëʱ²»»áÔÙ´´½¨¶øÊÇÀûÓõ±Ç°Õ»¶¥µÄsingleTop Activity£º
<activity android:name=".SingleTopActivity" android:label="@string/singletop" android:launchMode="singleTop" > </activity> |
½çÃæ³õʼ»¯£º

µã»÷¡±Æô¶¯singleTopģʽ¡±°´Å¥£º

ÎÒÃÇ·ÖÎöËüµÄÔËÐлúÖÆ£¬¿ÉÖª£¬µ±³ÌÐòÔËÐе½´Ëʱ£¬Õ»ÖеÄÊý¾ÝÐÎʽΪ£º

µ±ÎÒÃÇÔÚÉÏÃæ½çÃæÖеã»÷¡±Æô¶¯singleTopģʽ¡±°´Å¥Ê±£¬ÓÉÓÚ´ËActivityÉèÖÃµÄÆô¶¯Ä£Ê½ÎªsingleTop£¬Òò´ËËüÊ×ÏÈ»á
¼ì²âµ±Ç°Õ»¶¥ÊÇ·ñΪÎÒÃÇÒªÇëÇóµÄActivity¶ÔÏ󣬾ÑéÖ¤³ÉÁ¢£¬Òò´ËËü²»»á´´½¨ÐµÄActivity£¬¶øÊÇÒýÓõ±Ç°Õ»¶¥µÄActivity¡£

ËäÈ»Ëü²»»á´´½¨ÐµÄActivity¶ÔÏ󣬲»¹ýËüÿ´Î»Øµ÷ÓÃonNewIntent()·½·¨£º
@Override
protected void onNewIntent(Intent intent) {
// TODO Auto-generated method stub
super.onNewIntent(intent);
Toast.makeText(this, new Date().toString(), 1).show();
} |
ÎÒÃÇΪ´Ë·½·¨±àд´úÂëÊä³öµ±Ç°ÈÕÆÚ£¬ÔòÔÚÿ´Îµã»÷ÉÏÃæ°´Å¥Ê±»áÊä³öµ±Ç°ÈÕÆÚ¡£
singleTask
´ËÆô¶¯Ä£Ê½ºÍsingleTopÔÚÃû×ÖÉϼ´¿É¿´³öÇø±ð£¬¼´singleTopÿ´ÎÖ»¼ì²âµ±Ç°Õ»¶¥µÄActivityÊÇ·ñÊÇÎÒÃÇÐèÒªÇëÇó´´½¨µÄ£¬¶ø
singleTaskÔò»á¼ì²âÕ»ÖÐÈ«²¿µÄActivity¶ÔÏ󣬴ÓÉÏÏòÏ£¬Èç¹û¼ì²âµ½ÊÇÎÒÃÇËùÇëÇóµÄÔò»áÏûÃð´ËActivity¶ÔÏóÉÏÃæµÄ¶ÔÏó£¬Ö±½Ó°Ñ¼ì
²âµ½µÄÎÒÃÇÐèÒªµÄActivityÖÃΪջ¶¥¡£
ÎÒÃÇ´´½¨Ò»¸öSingleTaskActivity£¬´Ë½çÃæÖаüº¬Ò»¸öÆô¶¯MainActivityºÍÆô¶¯SingleTaskActivity°´Å¥¡£
³õʼ»¯£º

µã»÷¡±Æô¶¯singleTaskģʽ¡±°´Å¥£º

Ôڴ˽çÃæÖеã»÷µÚ¶þ¸ö°´Å¥¡±Æô¶¯singleTaskģʽ¡±°´Å¥£¬¸ù¾Ý¶¨Òå»á¼ì²âµ±Ç°Õ»ÖÐÊÇ·ñÓдËActivity¶ÔÏó£¬Òò´ËÏÔʾµÄ»¹Êǵ±Ç°µÄActivity£¬²»»áÖØÐ´´½¨£»
ÔÙµã»÷¡±Æô¶¯Standardģʽ¡±°´Å¥£¬ÓÉÓÚMainActivityµÄÆô¶¯Ä£Ê½Îªstandard£¬ËùÒÔÔÚ´Ë»áÖØÐ´´½¨Ò»¸öMainActivity¶ÔÏó£º

´ËʱջÖÐÊý¾Ý¸ñʽΪ£º

µ±ÔÚÉÏÃæ½çÃæÖеã»÷¡±Æô¶¯singleTaskģʽ¡±°´Å¥Ê±£¬ÓÉÓÚ¼ì²âµ½µ±ÆÚÕ»Öеڶþ¸öΪÎÒÃÇÒª´´½¨µÄActivity£¬»á½«×îÉÏÃæµÄMainActivityÏûÃð£¬È»ºó½«SingleTaskActivityÉèÖÃΪջ¶¥£º

SingleInstance
´ËÆô¶¯Ä£Ê½ºÍÎÒÃÇʹÓõÄä¯ÀÀÆ÷¹¤×÷ÔÀíÀàËÆ£¬ÎÒÃǶ¼ÖªµÀÔÚ¶à¸ö³ÌÐòÖзÃÎÊä¯ÀÀÆ÷ʱ£¬Èç¹ûµ±Ç°ä¯ÀÀÆ÷ûÓдò¿ª£¬Ôò´ò¿ªä¯ÀÀÆ÷£¬·ñÔò»áÔÚµ±Ç°´ò¿ªµÄä¯ÀÀÆ÷ÖзÃÎÊ¡£´Ëģʽ»á½ÚÊ¡´óÁ¿µÄϵͳ×ÊÔ´£¬ÒòΪËûÄܱ£Ö¤ÒªÇëÇóµÄActivity¶ÔÏóÔÚµ±Ç°µÄÕ»ÖÐÖ»´æÔÚÒ»¸ö¡£
ÉÏÃæ¼´ÎªAndroidÖеÄËÄÖÖÆô¶¯Ä£Ê½£¬ÎÒÃÇÔÚ¿ª·¢AndroidÏîĿʱ»á¾³£Ê¹Óõ½£¬ÇÉÃîÉèÖÃActivityµÄÆô¶¯Ä£Ê½»á½Úʡϵͳ¿ªÏúºÍ³ÌÐòÔËÐÐЧÂÊ¡£
|