随时随地退出应用

    郭霖的文章里有“随时随地退出应用”的代码,如下:

public class ActivityCollector {
public static List<Activity> activities = new ArrayList<Activity>();
public static void addActivity(Activity activity) {
activities.add(activity);
}
public static void removeActivity(Activity activity) {
activities.remove(activity);
}
public static void finishAll() {
for (Activity activity : activities) {
if (!activity.isFinishing()) {
activity.finish();
}
}
}
}
考虑到finish后会导致activity销毁,销毁会调用remove方法,于是乎担心出list遍历删除异常;实践证明,finish调用后,activity的ondestory的方法不会马上被调用,在finishAll方法执行完成后,对应的finish才会执行生效,故无需担忧,且不用转成iterator处理。

猜你喜欢

转载自blog.csdn.net/Dyan_csdn/article/details/51206407