将Activity加入到Application中的List中的作用(退出多个activity的方法)

其实,之前接触一个项目。看到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的方法”。


Reference:

[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

上一篇:2019年4月值得一读的9本技术书籍(机器学习、云计算、Android等书籍)!


下一篇:《iOS 9 开发指南》——第6章,第6.8节实战演练——将设计界面连接到代码