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