其实,之前接触一个项目。看到Application类里面会有一个List<Activity>,保存着每个Activity,但是不知道它什么用处。今天再看到了,问了下android方面的老手,然后大概明白了是怎么回事。然后也知道其作用了。总的来说是为了更好的解决程序的推出问题。
我呢,也不多废话,觉得还是前人的贴子写的更好。毕竟这是一个成熟的问题和具有成熟的答案的一个问题,所以我这里也就是作为记录,然后同时会恬不知耻的加上原创二字。实在不好意思,你可以理解这是一种病,虚荣也是一种病。
我先贴贴我的代码。然后贴一些优秀的贴子给大家去看看即可。
/** * * 完整的退出应用. * * @author xunlei.zengjinlong 470910357@qq.com */ public class EimApplication extends Application { private List<Activity> activityList = new LinkedList<Activity>(); public void onCreate() { super.onCreate(); //使用log4j开启日志系统 LogConfigurator logConfigurator =new LogConfigurator(); SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); java.util.Date date=new java.util.Date(); String dateString=date.getYear()+"_"+date.getMonth()+"_"+date.getDate()+"_"+date.getHours()+"_"+date.getMinutes()+"_"+date.getSeconds(); String pathString=Environment.getExternalStorageDirectory()+ File.separator+"Eim"+File.separator+"logs"+File.separator+"eim"+dateString+".log"; Log.d("EIM",pathString); logConfigurator.setFileName(pathString); logConfigurator.setRootLevel(Level.DEBUG ); logConfigurator.setLevel("org.apache", Level.ERROR); logConfigurator.setFilePattern("%d %t %-5p [%c{2}]-[%L] [%M] %m%n"); logConfigurator.setMaxFileSize(1024*1024*5); logConfigurator.setImmediateFlush(true); logConfigurator.configure(); Logger logger =Logger.getLogger(EimApplication.class); logger.info("EIM APP is created info"); logger.debug("EIM APP is creatd debug"); logger.error("EIM APP is create error"); XMPPConnection.DEBUG_ENABLED=true; logger.debug("XMPPConnectionDebug enable"); } // 添加Activity到容器中 public void addActivity(Activity activity) { activityList.add(activity); } // 遍历所有Activity并finish public void exit() { XmppConnectionManager.getInstance().disconnect(); for (Activity activity : activityList) { activity.finish(); } } }
它们的标题基本都是“android推出多个Activity的方法”。
[1]http://www.cnblogs.com/olvo/archive/2012/05/11/2496699.html
[2]http://blog.csdn.net/henglei1/article/details/17188083
[3]http://www.2cto.com/kf/201305/210855.html