本人最新公众号,汇集了各个公众号的优秀文章,进行分类整理,让大家能够更方便的查阅,希望大家多多支持,来个关注奥,一个号,顶一堆号。
在开发过程中,我们常常会用到一个常用的东西,就是activity栈,这个东西得作用就是处理逻辑,在某些情况下直接可以将所有的activity关闭,或者只保留1个指定的activity。
但是很多的栈管理器都是使用强引用写的,这样就容易引起app崩溃,因为activity在某些时候回被系统回收,然后返回后重新创建,这时弱引用的优势就来了,就是他不会直接使用该对象(强引用会),你可以判断他要使用的对象是否为空,这时,很多的崩溃情况就可以被避免了,下面上代码:
/**
* Author: 姚智胜
* Version: V1.0版本
* Description: activity栈管理器
* Date: 2017/04/22.
*/
public class ActivityStackManager {
private static final String TAG = "ActivityStackManager";
/**
* Activity栈
*/
private Stack> mActivityStack;
private static ActivityStackManager activityStackManager = new ActivityStackManager();
private ActivityStackManager() {
}
/***
* 获得AppManager的实例
*
* @return AppManager实例
*/
public static ActivityStackManager getInstance() {
if (activityStack