Android退出程序(一)——单例模式
生活随笔
收集整理的這篇文章主要介紹了
Android退出程序(一)——单例模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先說明的一點就是,真正意義上的完全退出程序在應用層上其實還是做不到的。我們在應用層上所做的退出程序,都只是關閉了當前的前臺程序,而后臺程序其實還是在運行著的。
這里我們的思路就是把所有的Activity收集起來,然后再統一進行關閉。那么怎么來收集Activity呢?我們都知道Activity是一個對象,那么是用數組嗎?如果用數組,我們就得給一個定長的數組來進行限制,數組的大小大了不好,小了更是是要命的事。那用什么?我們對對象的收集處理一般是用List<...>或是其衍生。。。
這里我們用List<Activity>來保存Activity:
private List<Activity> activityList = new LinkedList<Activity>(); 再定義一個對外的方法接口,用于接收Activity:
public void addActivity(Activity activity) {activityList.add(activity);} 最后統一finish();
public void exit() {for (Activity activity : activityList) {activity.finish();}System.exit(0);} 當我們創建了一個Activity的同時,我們就把這個Activity添加到我們List<Activity>中來,如下:
EyeApplicationManager.getInstance().addActivity(this);
---------------------------------------- 管理Activity退出類的代碼如下 ---------------------------------------
package com.android.password.application;import java.util.LinkedList; import java.util.List;import android.app.Activity;/*** 這個類是用單例模式實現的一個* 用來退出程序的類* @author William-H* 開發日期:2014年8月22日*/ public class EyeApplicationManager {private List<Activity> activityList = new LinkedList<Activity>();private static EyeApplicationManager instance;private EyeApplicationManager() {}/*** 單例模式中獲取唯一的MyApplication實例* @return*/public static EyeApplicationManager getInstance() {if (null == instance) {instance = new EyeApplicationManager();}return instance;}/*** 添加Activity到容器中* @param activity*/public void addActivity(Activity activity) {activityList.add(activity);}/*** 遍歷所有Activity并finish*/public void exit() {for (Activity activity : activityList) {activity.finish();}System.exit(0);} } 如果你足夠細致,我想你應該會發現,其實,這個類能做的可不是只有退出程序這么簡單。。。
關于退出程序,我之前也有寫過一篇是關于雙擊返回鍵退出程序,點擊連接進行博客。。。
那在Demo中究竟是怎么樣來使用呢?點擊查看源碼
總結
以上是生活随笔為你收集整理的Android退出程序(一)——单例模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POJ-2942:吃糖果
- 下一篇: 在ListView中使用BaseAdap