项目中有个需求,一个activity中有个按钮可以打开自己的另一个实例,那么这样就会出现不停的点,不停的创建这个activity实例的情况出现,有没有方法可以控制这个activity实例的个数啊,比如只保留最近打开的三个这个activity实例,有没有方法可以实现的啊,求教大神们
机器人的回答没有用啊,需要是保存3个实例,不是一个啊
把这个activity的lunchmode设置为singletop,或者singletask
如果你非得控制数量,那就用一个Map,记录每个Activity的数量,每次oncreate时,push进去
监听点击次数,当超过一定数量就不要响应事件。或者用LinkedList这个集合,先进先出原则
额,搞定了,直接在application中增加了个ArrayList,保存打开的activity实例,每次创建将activity实例保存到list中,保存前判断是否超过规定数额,超过的直接调用list中第一个的finish方法
finish方法中在将本实例从list中移除,防止泄漏
非要限制个数的话就用一个list把Activity装进去。每次要添加之前都去遍历一下这个list,把其中的实例取出来,拿到类名,如果和当前类名一样且超过3个,就不添加
finish方法里的逻辑在异常情况下并不可靠,建议在application中做整体的Activity实例获取操作。