µ±Ç°Î»ÖãºÊ×Ò³ > µÚÒ»ÐдúÂëAndroidѧϰ±Ê¼ÇÍêÈ«°æ
Ö®ºó£¬ÔÚÉÏÒ»¸öactivityÖУ¬ÖØÐ´onActivityResult()·½·¨¡£
ͬÑùµÄ£¬Èç¹ûÔÚµÚ¶þ¸öactivityÖУ¬Êǰ´·µ»Ø¼ü·µ»ØµÄ£¬¿ÉÒÔÔÚµÚ¶þ¸öactivityÖУ¬ÖØÐ´onBackPressed()·½·¨·µ»ØÊý¾Ý£¬·½·¨Í¬ÉÏ¡£
ËÄ¡¢activityµÄÉúÃüÖÜÆÚ 1¡¢»î¶¯×´Ì¬
ÔËÐÐ״̬£ºÔÚÕ»¶¥Ê±
ÔÝͣ״̬£º²»¿É²Ù×÷£¬µ«¿É¼û ֹͣ״̬£ºÍêÈ«²»¿É¼û Ïú»Ù״̬£º´ÓÕ»Öб»ÒƳý
2¡¢activityÉú´æÆÚ
ÍêÕûÉú´æÆÚ£ºonCreate()?onDestory() ¿É¼ûÉú´æÆÚ£ºonStart()?onStop() ǰ̨Éú´æÆÚ£ºonResume()?onPause()
»î¶¯Æô¶¯onCreate()onStart()·µ»ØÉÏÒ»¸ö»î¶¯onRestart()onResume()ActivityÔËÐÐÖÐKill Process·µ»ØÉÏÒ»¸öactivityÁíÒ»¸öactivityÀ´µ½Ç°Ì¨ÁíÒ»¸öÓÅÏȼ¶¸ü¸ßµÄ³ÌÐòÐèÒªÄÚ´æonPause()Activity²»¿É¼ûonStop()Activity±»Ïú»ÙonDestory()Activity¹Ø±Õ
3¡¢activity±»»ØÊÕÊý¾Ý±£´æ
activityÖÐÌṩÁËÒ»¸öonSaveInstanceState()µÄ·½·¨£¬¸Ã·½·¨»áЯ´øÒ»¸öbundleÀàÐͲÎÊý£¬bundle¿ÉÒÔ±£´æ¸÷ÖÖÐÅÏ¢¡£ protected void onSaveInstanceState(Bundle outState) { // TODO Auto-generated method stub super.onSaveInstanceState(outState); String savedata=\ outState.putString(\ }
ÈçºÎ»Ö¸´Êý¾ÝÄØ£¿
ÔÚonCreate()·½·¨ÖУ¬´«ÈëµÄ²ÎÊýΪBundle savedInstanceState£¬ÀûÓÃÕâ»Ö¸´Êý¾Ý¡£ String data=savedInstanceState.getString(¨Dsaved¡¬);
Îå¡¢activityµÄÆô¶¯Ä£Ê½
ËÄÖÖÆô¶¯Ä£Ê½£¬¿ÉÒÔÔÚ
singleTop£º´ò¿ªactivity£¬¼ì²éÕ»¶¥ÊÇ·ñÒѾ´æÔÚ¸Ãactivity£¬´æÔÚÁ˾Ͳ»´´½¨¡£²»´æÔڲŴ´½¨¡£²»¹ý£¬Èç¹û¸Ãactivity²»ÔÚÕ»¶¥£¬µ«Ò²´æÔÚ£¬ÔòÒ²»áÖØÐ´´½¨Ò»¸ö¡£ singleTask£º¼ì²éÕû¸ö·µ»ØÕ»£¬Èç¹û´æÔÚij¸öactivity£¬Ôò²»»áÖØÐ´´½¨¡£
singleInstance£º´´½¨Ò»¸öactivity£¬ÖØÐÂÔÚÒ»¸öÐµķµ»ØÕ»(»òTask)Öд´½¨£¬¸ÃactivityÓëÆäËûactivity²»ÔÚͬһ¸öTaskÖУ¬ÆäËû³ÌÐòÒ²¿ÉÒÔµ÷ÓÃÕâ¸öactivityµÄʵÀý¡£
Áù¡¢activity×î¼Ñʵ¼ù
1¡¢ÖªµÀµ±Ç°Ò³ÃæÊÇÄÄÒ»¸öactivity
н¨Ò»¸öBaseActivity extents Activity£¬ÆäÖÐÔÚonCreate()ÖдòÓ¡¸ÃactivityµÄÐÅÏ¢ Log.i(¨DBaseActivity¡¬,getClass().getSimpleName()); //»ñµÃÀàÃû È»ºó£¬ËùÓÐactivity¶¼extents BaseActivity¼´¿É
2¡¢ËæÊ±ËæµØÍ˳ö³ÌÐò
µ±´ò¿ªºÜ¶àactivityÖ®ºó£¬Í˳ö³ÌÐòÐèÒªÒ»Ö±°´Back£¬ºÜÂé·³¡£
Ê×ÏÈ£¬Ð½¨Ò»¸öactivity¹ÜÀíÀ࣬ʵÏÖËùÓеÄactivityµÄÌí¼Ó¡¢É¾³ýºÍfinish()¡£
public class ActivityCollector { public static List
È»ºó£¬ÐÞ¸ÄBaseActivity£¬ÔÚonCreate()ÖÐÌí¼Óthis£¬onDestory()ÖÐÒÆ³ýthis protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); Log.i(\ ActivityCollector.addActivity(this); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); ActivityCollector.removeActivity(this); }
¹²·ÖÏí92ƪÏà¹ØÎĵµ