zoukankan      html  css  js  c++  java
  • Android 中MyApplication

    package liu.basedemo;
    
    import android.app.Activity;
    import android.app.Application;
    
    import java.lang.ref.WeakReference;
    import java.util.Stack;
    
    /**
     * MyApplication应用 基本
     * Created by 刘楠 on 2016/7/28 0028.21:45
     */
    public class MyApplication extends Application {
    
        private static MyApplication INSTANCE;
        /**
         * 任务栈
         */
        Stack<WeakReference<Activity>> mTasks = new Stack<WeakReference<Activity>>();
    
    
        @Override
        public void onCreate() {
            super.onCreate();
            INSTANCE = this;
    
        }
    
        public static MyApplication getInstance() {
            return INSTANCE;
        }
    
        /**
         * 添加一个Activity
         *
         * @param task
         */
        public void pushTask(WeakReference<Activity> task) {
            mTasks.push(task);
        }
    
        /**
         * 移除指定的Activity
         *
         * @param task
         */
        public void removeTask(WeakReference<Activity> task) {
            mTasks.remove(task);
        }
    
    
        /**
         * 移动指定位置的TAskActivity
         *
         * @param poistion
         */
        public void removeIndexTask(int poistion) {
            if (mTasks.size() > poistion) {
                mTasks.remove(poistion);
            }
        }
    
        /**
         * 移除全部的Activity
         */
        public void removeAllTask() {
    
    
            for (WeakReference<Activity> task : mTasks) {
                /**
                 * 判断有没有结束没结果就结束
                 */
                if (!task.get().isFinishing()) {
                    //结束
                    task.get().finish();
                }
            }
        }
    
        /**
         * 从顶部开始移除
         */
        public void removeTop() {
            int start = 1;
            int end   = mTasks.size();
    
            for (int i = end - 1; i >= start; i--) {
                /**
                 * 判断有没有结束没结果就结束
                 */
                if (!mTasks.get(i).get().isFinishing()) {
    
                    mTasks.get(i).get().finish();
    
                }
            }
        }
    }
  • 相关阅读:
    使用Springsecurity3.0 框架
    Spring3.0.2 使用全Annotation 与 Hessian 兼容配置
    Python Study PyCharm License
    Spring3.0.2 使用 Annotation 与 @Transactional 冲突问题解决方案
    「JOI 2014 Final」裁剪线
    CF700E Cool Slogans
    「JOISC 2014 Day4」两个人的星座
    ABC231H(二分图最小权边覆盖)
    JOISC 2017
    博弈论 初步
  • 原文地址:https://www.cnblogs.com/liunanjava/p/5716610.html
Copyright © 2011-2022 走看看