Activity管理类:用于管理Activity和退出程序

import java.util.Stack; 

  

import android.app.Activity; 

import android.app.ActivityManager; 

import android.content.Context; 

  

/**

 

 * @ClassName: com.qust.myutils.AppManager

 * @Description: Activity管理类:用于管理Activity和退出程序

 

 */

public class AppManager { 

  

    // Activity栈 

    private static Stack<Activity> activityStack; 

    // 单例模式 

    private static AppManager instance; 

  

    private AppManager() { 

    

  

    /**

     * 单一实例

     */

    public static AppManager getAppManager() { 

        if (instance == null) { 

            instance = new AppManager(); 

        

        return instance; 

    

  

    /**

     * 添加Activity到堆栈

     */

    public void addActivity(Activity activity) { 

        if (activityStack == null) { 

            activityStack = new Stack<Activity>(); 

        

        activityStack.add(activity); 

    

  

    /**

     * 获取当前Activity(堆栈中最后一个压入的)

     */

    public Activity currentActivity() { 

        Activity activity = activityStack.lastElement(); 

        return activity; 

    

  

    /**

     * 结束当前Activity(堆栈中最后一个压入的)

     */

    public void finishActivity() { 

        Activity activity = activityStack.lastElement(); 

        finishActivity(activity); 

    

  

    /**

     * 结束指定的Activity

     */

    public void finishActivity(Activity activity) { 

        if (activity != null) { 

            activityStack.remove(activity); 

            activity.finish(); 

            activity = null

        

    

  

    /**

     * 结束指定类名的Activity

     */

    public void finishActivity(Class<?> cls) { 

        for (Activity activity : activityStack) { 

            if (activity.getClass().equals(cls)) { 

                finishActivity(activity); 

            

        

    

  

    /**

     * 结束所有Activity

     */

    public void finishAllActivity() { 

        for (int i = 0; i < activityStack.size(); i++) { 

            if (null != activityStack.get(i)) { 

                activityStack.get(i).finish(); 

            

        

        activityStack.clear(); 

    

  

    /**

     * 退出应用程序

     */

    public void AppExit(Context context) { 

        try

            finishAllActivity(); 

            ActivityManager activityMgr = (ActivityManager) context 

                    .getSystemService(Context.ACTIVITY_SERVICE); 

            activityMgr.killBackgroundProcesses(context.getPackageName()); 

            System.exit(0); 

        } catch (Exception e) { 

        

    

}

时间: 2024-08-25 05:43:22

Activity管理类:用于管理Activity和退出程序的相关文章

Activity管理类,程序退出工具类

Activity管理类, 用于管理所有的Actvity, 提供添加Activity到堆栈,结束特定Activity,结束所有的Activity等方法,在项目开发中都有必备功能:退出功能,而退出功能在项目中一般有退出应用,退出登录两种情况,这里针对这个两种情况都有实现,在此做一下记录,以备以后查阅 package com.centrvideo.parkapp.util; import java.util.concurrent.CopyOnWriteArrayList; import android

5、管理类概念

管理类详细信息 管理类是客户机文件和策略之间的关键连接.各客户机节点会分配到一个策略域,并且客户机节点仅对包含在活动策略集中的管理类具有访问权. 管理类指定客户机文件是否迁移到存储池(分层存储管理).这些管理类中的副本组指定保留在服务器存储器中的备份版本的数目,以及保留备份版本和归档副本的时间长度. 管理类的内容 管理类包含备份.归档和空间管理操作的策略(按客户机划分).可通过管理类中的参数来指定TSM FOR space management客户机是否可以将文件迁移到服务器存储器以及迁移的方式

activity管理类 appManager

程序启动第一个界面类: net.oschina.app.AppStart功能描述:一张图片代码细节描述:一个透明度的动画效果,效果动画完成后自动启动新的Activity(Main) 基本BaseActivity类,继承自Activity功能描述:分别在onCreate方法中添加Activity到栈 : 在onDestroy方法中移除Activity代码细节描述: 提供了一个单例类AppManager,把创建的Activity放入到栈中进行管理,提供添加Activity , 移除当前Activit

Android Activity管理类优化内存利器非常方便

项目开启的Activity越多,占的内存越多,我们是不是有时候想当我打开很多界面的时候,我们到底打开多少个Activity,OK现在你的难题解决了,只有把这个Activity管理类复制到你的项目当中,随时随地管理的你的Activity,让你成为内存的主导者!不要问我叫什么,请叫我雷锋!首先看看效果图: 代码献上: /** * 2014-6-7 上午10:40:16 */ package com.jiub.client.mobile.manager; import java.util.Stack;

Activity管理类

package com.yunpai.tms.application; import android.app.Activity; import android.app.ActivityManager; import android.content.Context; import com.yunpai.tms.R; import com.yunpai.tms.activity.LoginActivity; import com.yunpai.tms.activity.MainActivity; i

DroidPlugin源码分析插件进程管理以及预注册Activity,Service,ContentProvide的选择

在360对DroidPlugin的特点介绍中有云: 插件的四大组件完全不需要在Host程序中注册,支持Service.Activity.BroadcastReceiver.ContentProvider四大组件. 实现了进程管理,插件的空进程会被及时回收,占用内存低. 之所以支持Service,Activity,ContentProvider三大组件,是因为DroidPlugin在AndroidManifest文件中预先注册了8个运行插件的进程,每个进程预注册Service一个, Content

Android窗口管理服务WindowManagerService显示Activity组件的启动窗口(Starting Window)的过程分析

文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8577789 在Android系统中,Activity组件在启动之后,并且在它的窗口显示出来之前,可以显示一个启动窗口.这个启动窗口可以看作是 Activity组件的预览窗口,是由WindowManagerService服务统一管理的,即由WindowManagerService服务负责 启动和结束.在本文中,我们就详细分析WindowManag

Android窗口管理服务WindowManagerService切换Activity窗口(App Transition)的过程分析

文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/8596449 在Android系统中,同一时刻只有一个Activity组件是处于激活状态的,因此,当ActivityManagerService服务激活了一个 新的Activity组件时,它就需要通知WindowManagerService服务将该Activity组件的窗口显示出来,这会涉及到将焦点和屏 幕等资源从前一个激活的Activity组件

DownloadManager 下载管理类

演示 简介 从Android 2.3开始新增了一个下载管理类,在SDK的文档中我们查找android.app.DownloadManager可以看到.下载管理类可以长期处理多个HTTP下载任务,客户端只需要给出请求的Uri和存放目标文件的位置即可,下载管理使用了一个AIDL服务器,所以可以放心的在后台执行,同时实例化的方法需要使用getSystemService(Context.DOWNLOAD_SERVICE) ,我们可以轻松的通过新增的这个API实现Android平台上的文件下载操作. Do