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();