完美退出应用对于任何App来说都是很重要的,当页面的交互逻辑很复杂的时候,难免会遇到某些activity在跳转过程中没有退出,为了方便Activity退出,可以统一建一个ActivitManager,统一的去记录activity,然后统一的进行销毁。
public class ActivityManager {
/**
* 存放Activity的map
*/
private static Map<String, AppCompatActivity> activitys = new HashMap<String, AppCompatActivity>();
/**
* 获取管理类中注册的所有Activity的map
*
* @return
*/
public static Map<String, AppCompatActivity> getActivitys() {
return activitys;
}
/**
* 根据键值取对应的Activity
*
* @param key 键值
* @return 键值对应的Activity
*/
public static AppCompatActivity getActivity(String key) {
return activitys.get(key);
}
/**
* 注册Activity
*
* @param value
* @param key
*/
public static void addActivity(AppCompatActivity value, String key) {
activitys.put(key, value);
}
/**
* 将key对应的Activity移除掉
*
* @param key
*/
public static void removeActivity(String key) {
activitys.remove(key);
}
/**
* finish掉所有的Activity移除所有的Activity
*/
public static void removeAllActivity() {
Iterator<AppCompatActivity> iterActivity = activitys.values().iterator();
while (iterActivity.hasNext()) {
iterActivity.next().finish();
}
activitys.clear();
}
}
相信看了上面代码就知道如何使用了吧!这里就不介绍了。