专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 移动开发

在项目中的一个activity中写很少的代码就可以关掉全部的已经打开的activity

发布时间:2010-05-30 00:44:57 文章来源:www.iduyao.cn 采编人员:星星草
在项目中的一个activity中写很少的代码就可以关掉所有的已经打开的activity

     package com.shzzdddd.wms.service;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;

//然后用这个ActivityUtils来跟踪所有的activity


public class ActivityUtils {
private static final List<Activity> sActivityList = new ArrayList<Activity>();

private static boolean sProcessKilled = true;

public static boolean isProcessKilled() {
    return sProcessKilled;
}

public static void setProcessStarted() {
    sProcessKilled = false;
}

/***
* 在每个Activity的onCreate中调用,用来记录打开了的activity
*/
public static void addActivity(Activity act) {
sActivityList.add(act);
}

/***
* 在每个Activity的onDestroy中调用
*/
public static void removeActivity(Activity act) {
sActivityList.remove(act);
}

/***
* 结束所有的activity,并关闭程序的进程
*/
public static void exit() {
finishAll();
System.exit(0);
}

/***
* 结束所有的activity,但不会关闭程序的进程
*/
public static void finishAll() {
    for (Activity act : sActivityList) {
            act.finish();
        }  
        sActivityList.clear();
}

private ActivityUtils() {} // no instance
}



   最后只要在每个Activity中的onCreate()方法中写上:ActivityUtils.addActivity(this);然后就可以调用ActivityUtils的finishAll();
就这样,我们就可以随意的在某一个activity中关闭所有已打开的activity了,前提是要在你建立的每个activity中都调用那个。
1 楼 sword1987cao 昨天  
看到这个忍不住得说几句了。。。。。。
这种方法会导致内存泄露,应用占用内存不能得到释放越来越大,不建议采用~
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: