activity管理
来源:互联网 发布:mac flash player 21 编辑:程序博客网 时间:2024/06/10 19:17
activity管理
public class ActivityMgr{ private Stack<Activity> mStack; private static ActivityMgr mActivityMgr; private ActivityMgr(){ mStack = new Stack<Activity>(); } public static ActivityMgr getInstance(){ if(mActivityMgr == null){ synchronized(ActivityMgr.class){ if(mActivityMgr == null){ mActivityMgr = new ActivityMgr(); } } } return mActivityMgr; } public void push(Activity acti){ if(mStack!=null&&!mStack.contains(acti)){ mStack.push(acti); } } public void remove(Activity acti){ if(mStack!=null&&mStack.contains(acti)){ mStack.remove(acti); } } public int getAcitSize(){ int actiSize = 0; if(mStack!=null){ actiSize=mStack.size(); } return actiSize; } public Activity getStackTopActivity(){ Activity topActi=null; if(mStack!=null&&!mStack.isEmpty()){ topActi=mStack.peek(); } return topActi; } public void finishAllActi(){ if(mStack!=null&&!mStack.isEmpty()){ int size = mStack.size(); for(int i=0;i<size;i++){ Activity acti =mStack.get(i); acti.finish(); } mStack.clear(); } } public void finishActiByClsName(String clsName){ if(mStack!=null&&!mStack.isEmpty()){ int size = mStack.size(); Activity desActi=null; for(int i=0;i<size;i++){ Activity acti =mStack.get(i); if(acti.getClass().getName().equals(clsName)){ desActi =acti; break; } } if(desActi!=null){ desActi.finish(); } } } public void finishBeforeActi(String clsName){ int indexOfActi = indexOfActi(clsName); if(indexOfActi==-1) return; if(mStack!=null&&!mStack.isEmpty()){ int size = mStack.size(); for(int i=(size-1);i>indexOfActi;i--){ mStack.get(i).finish(); } } } public int indexOfActi(String clsName){ if(mStack!=null&&!mStack.isEmpty()){ int size = mStack.size(); for(int i=0;i<size;i++){ Activity acti =mStack.get(i); if(acti.getClass().getName().equals(clsName)){ return i; } } } return -1; } public boolean existActi(String clsName){ if(mStack!=null&&!mStack.isEmpty()){ int size = mStack.size(); for(int i=0;i<size;i++){ Activity acti =mStack.get(i); if(acti.getClass().getName().equals(clsName)){ return true; } } } return false; } private void release(){ finishAllActi(); if(mStack!=null){ mStack.clear(); mStack=null; } } public static void destroy(){ if(mActivityMgr!=null){ mActivityMgr.release(); mActivityMgr=null; } }}
0 0
- 管理Activity
- Activity管理
- activity管理
- Activity管理
- 管理Activity
- Activity管理
- 管理activity
- 管理Activity
- activity管理
- Activity管理
- Activity管理
- android Activity管理类(全局管理Activity)
- android Activity管理类(全局管理Activity)
- android Activity管理类(全局管理Activity)
- 管理Activity的实例
- Android Activity生命周期管理
- Android Activity生命周期管理 .
- Android Activity生命周期管理
- Android JNI学习笔记2
- AttributedString
- 秒杀核心设计(减库存部分)-防超卖与高并发
- 转-android沉浸式状态栏:Translucent System Bar 的最佳实践
- WPF获取键盘状态(如WPF组合键)
- activity管理
- 最大子序列和
- Java反射和工厂模式
- 文章的相关性对网站优化到底有多重要?
- 每天一命令(15)df - report file system disk space usage
- 获取RSA文件的MD5和SHA1
- 文件的MIME-TYPE
- 手动内存管理转ARC项目实战
- grails Deadlock found when trying to get lock; try restarting transaction