Android 完全退出应用程序并释放资源

   Android 开发中想要完全退出系统,并释放资源,之前找了很多方法。都不可取,也很麻烦。最近又google了一下,发现一个方法很简单。大致说一下:

一、首先说一下finish();

      finish();只能退出当前Activity 不能把Android app所有Activity退出。使用方式为:

MainActivity.this.finish();

二、退出整个应用程序并释放资源

     1)新建SysApplication类,具体如下

package com.hbjr.lims;

import java.util.LinkedList;
import java.util.List;

import android.app.Activity;
import android.app.Application;

public class SysApplication extends Application {//存放所有Activity 方便退出系统
    // 用于存放当前所有的Activity
    private List<Activity> mList = new LinkedList<Activity>();
    // SysApplication类型的静态常量,用于在某一个Acitivty中
    //获取instance并调用SysApplication的类方法

    private static SysApplication instance;

    private SysApplication() {
    }

    // 静态方法,用于获取静态常量 instance
    public synchronized static SysApplication getInstance() {
        if (null == instance) {
            instance = new SysApplication();
        }
        return instance;
    }

    // add Activity
    public void addActivity(Activity activity) {
        mList.add(activity);
    }
    // 退出整个应用的方法
    public void exit() {
        try {
            for (Activity activity : mList) {
                if (activity != null)
                    activity.finish();
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            System.exit(0);
        }
    }

    public void onLowMemory() {
        super.onLowMemory();
        System.gc();
    }
}

  2)具体使用的时候,每创建一个Activity,就会添加到 List 中,所以在每个Activity的OnCrate方法里面调用如下:

SysApplication.getInstance().addActivity(this);

  3)在想要退出应用的地方调用如下:

SysApplication.getInstance().exit();

  

     

posted @ 2016-06-21 10:20  卧龙传奇  阅读(653)  评论(0编辑  收藏  举报