import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.app.Application;/** * 应用配置类 * @author leehongee * */public class AppManager extends Application{/**打开的activity**/private List<Activity> activities = new ArrayList<Activity>();/**应用实例**/private static AppManager instance;/** * 获得实例 * @return */public static AppManager getInstance(){return instance;}/** * 新建了一个activity * @param activity */public void addActivity(Activity activity){activities.add(activity);}/** * 结束指定的Activity * @param activity */public void finishActivity(Activity activity){if (activity!=null) {this.activities.remove(activity);activity.finish();activity = null;}}/** * 应用退出,结束所有的activity */public void exit(){for (Activity activity : activities) {if (activity!=null) {activity.finish();}}System.exit(0);}@Overridepublic void onCreate() {            instance = this;           }}

然后我写了一个BaseActivity,以后的Activity 都继承这个Activity,如下

import android.app.Activity;import android.os.Bundle;import android.os.StrictMode;/** * 基本Activity * @author leehongee * @date 2013-1-26 下午6:24:47 * @version */public class BaseActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//添加到Activity集合AppManager.getInstance().addActivity(this);//手机端SDK>10,即 android 2.3.x之后在主线程中访问网络需要加入如下代码if (AppConfig.getSDKVersionNumber()>10) {        // 详见StrictMode文档        StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()                .detectDiskReads()                .detectDiskWrites()                .detectNetwork()   // or .detectAll() for all detectable problems                .penaltyLog()                .build());        StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()                .detectLeakedSqlLiteObjects()                .detectLeakedClosableObjects()                .penaltyLog()                .penaltyDeath()                .build());}}@Overridepublic void onBackPressed() {super.onBackPressed();onDestroy();}@Overrideprotected void onDestroy() {super.onDestroy();//结束Activity&从集合中移除AppManager.getInstance().finishActivity(this);}}

更多相关文章

  1. Android Activity sleep 自线程更新主线程UI
  2. Android 为什么主线程的looper 一直循环不会ANR
  3. Android主线程里不允许网络操作
  4. 1.8 奇葩,android onBackPressed结束了两个activity
  5. [Android] [ Android启动流程 ] [ 下 ] [ Zygote、SystemServer
  6. 为什么Android必须在主线程更新UI?
  7. Android 判断当前线程是否是UI主线程
  8. Android内核与主线linux内核的比较(Android对Linux内核的改动你知
  9. Android切换主线程更新UI方法总结

随机推荐

  1. Android(安卓)View 绘制流程之四:绘制流程
  2. 《Android开发从零开始》――18.消息处理
  3. Android(安卓)之 Activity的加载模式
  4. Android-x86 4.2 发布,基于 Android 4.2.2
  5. android log输出控制
  6. Android之获取手机上的图片和视频缩略图t
  7. Android(安卓)shape 矩形边框
  8. Android横竖屏切换生命周期你真的了解么?
  9. 史上最强劲之android模拟器命令详解
  10. Android技术积累汇总(4月28日更新)