public class SysApplication extends Application {
//运用list来保存每一个activity是关键
private List<Activity> mList = new LinkedList<Activity>();
//为了实现每次使用该类时不创建新的对象而创建的静态对象
private static SysApplication instance;
//构造方法
private SysApplication(){}
//实例化一次
public synchronized static SysApplication getInstance(){
if (null == instance) {
instance = new SysApplication();
}
return instance;
}
// add Activity
public void addActivity(Activity activity) {
mList.add(activity);
Log.i("SysApplication", "have added , size - " + mList.size());
}
public void removeActivity(Activity activity) {
if(mList.get(mList.size() - 1).equals(activity)){
mList.remove(mList.size() - 1);
}
else{
for(int i = mList.size() - 1;i >= 0 ;i--){
if(mList.get(i).equals(activity)){
mList.remove(i);
break;
}
}
}
Log.i("SysApplication", "have removed , size - " + mList.size());
}
//关闭每一个list内的activity
public void exit() {
try {
for (Activity activity:mList) {
if (activity != null)
activity.finish();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
System.exit(0);
}
}
//清空除顶个Activity
public void cleanBottom(){
if(mList != null){
if(mList.size() > 1){
for(int i = mList.size() - 2 ; i >= 0 ; i--){
mList.get(i).finish();
mList.remove(i);
}
}
}
Log.i("SysApplication", "have cleaned the bottom , size - " + mList.size());
}
//杀进程
public void onLowMemory() {
super.onLowMemory();
System.gc();
}
}
</pre><pre name="code" class="java">
<span style="background-color: rgb(204, 204, 204);"><span style="color:#cc0000;"><strong>
</strong></span></span>
<span style="background-color: rgb(204, 204, 204);"><span style="color:#cc0000;"><strong>在新建Acticity时候加上</strong></span></span><pre name="code" class="java"><span style="background-color: rgb(204, 204, 204);"><span style="color:#cc0000;"><strong>SysApplication.getInstance.add(activity);</strong></span></span>
<strong><span style="background-color: rgb(204, 204, 204);"><span style="color:#cc0000;">destory时加上<span style="font-family: Arial, Helvetica, sans-serif;">SysApplication.getInstance.remove(activity);</span></span></span></strong>