朝花夕拾-android 自定义application 管理activity的生命周期

为了安全退出多个已创建的activity?

可以自定义application:myapplication.

增加一个list成员保存,一些关键的已创建的activity实例:

 1 private List<Activity> activityList = new LinkedList<Activity>();
 2
 3 // 保存 所有activity的this
 4     public void addActivity(Activity activity) {
 5         activityList.add(activity);
 6     }
 7
 8 public void exit() {
 9         // save cache data to db
10         CacheManager cacheManager = CacheManager.getInstance(this);
11         cacheManager.saveNewCache1ToDB();
12         this.msgNewListMap.clear();
13         for (Activity activity : activityList) {
14             activity.finish();
15         }
16     }

然后在activit创建的时候,oncreate中添加该activity到list中

1 MyApplication.getInstance().addActivity(ChatListActivity.this);

在程序退出时,例如双击返回键退出程序,调用application的exit方法:

 1 // 退出
 2     @Override
 3     public boolean onKeyDown(int keyCode, KeyEvent event) {
 4         // TODO Auto-generated method stub
 5         if (keyCode == KeyEvent.KEYCODE_BACK) {
 6             long currentTime = System.currentTimeMillis();
 7             if ((currentTime - touchTime) >= waitTime) {
 8                 showCustomToast(R.string.main_exit);
 9                 touchTime = currentTime;
10             } else {
11                 // android.os.Process.killProcess(android.os.Process.myPid());
12                 MyApplication.getInstance().exit();
13             }
14             return true;
15
16         }
17         return super.onKeyDown(keyCode, event);
18     }

代码完整路径:http://git.oschina.net/zj2012zy/Android-Demo/tree/master/CustomApplication

时间: 2024-08-25 15:43:15

朝花夕拾-android 自定义application 管理activity的生命周期的相关文章

Android学习路线(十一)管理Activity的生命周期

当一个用户进入,退出,再次进入你的应用时,你的应用中的Activity 会在它的生命周期的各个状态下切换.例如,当你的activity第一次启动,它出现在系统的前方接受用户的焦点.在这个过程中,Android系统调用了一系列的生命周期方法来设置UI和其他组件.如果用户执行了一个操作,启动了另一个activity或者切换到其它应用中,你的activity会移动到后台(这时activity已经不可见,但是它的实力和状态都保持不变),系统会调用另外的一些生命周期方法. 通过这些生命周期方法,你可以声明

[安卓基础] 007.管理Activity的生命周期

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; text-decoration: none; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: poin

Android系列教程之Activity的生命周期

通过上一节"Android系列教程之Android项目的目录结构"我们已经知道了什么是Activity,那么为什么我们创建一个Activity的导出类的时候为什么都要覆盖Activity的onCreate方法呢,为什么会在onPause()方法中保存一些当前Activity中的变化,要弄明白这些就要先了解Activity的生命周期,也就是一个Activity才开始到结束都要经过那些状态,下面通过一个例子了解Activity的声明周期. 一:Activity的生命周期方法 Android

【Android】11.1 Activity的生命周期和管理

分类:C#.Android.VS2015: 创建日期:2016-02-21 一.基本概念 1.必须理解这些方法,否则你编的程序根本就没法在实际项目中使用 当然,如果仅仅是为了玩玩,或者仅仅是作为例子为了专注于介绍某个知识点而有意忽略其他的实现细节,那就另当别论了. Android应用程序可自动创建.暂停.恢复.销毁Activity,下图是典型的Activity生命周期(虽然不同资料画的图不一样,但殊途同归,目的都是为了帮助理解): 要创建一个自定义的Activity,必须创建一个父类为Activ

(android文档原创翻译)管理Activity的生命周期&lt;一&gt;

(英文原文链接地址) 1.启动你的Activity 不同其它的应用程序通过main()方法来启动,android系统是按照一定的顺序通过调用其生命周期(lifecycle)的回调方法来启动或者结束一个activity.本节简要介绍了Activty的最为重要的生命周期,并且示意了怎样处理一个Activity的生命周期. 理解什么叫做生命周期的callbacks 在Activity的生命周期中,android系统会按顺序调用一系列类似于金字塔形排列的生命周期方法,即activity生命周期的每个阶段

android学习四(Activity的生命周期)

要学好活动(Activity),就必须要了解android中Activity的声明周期,灵活的使用生命周期,可以开发出更好的程序,在android中是使用任务来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称作返回栈.栈的特性是后进先出,在默认的情况下,每当我们启动了一个新的活动,它会在返回栈中入栈,并处于栈顶的位置.而每当我们按下Back键或调用finish方法去销毁一个活动时,处于栈顶的活动会出栈,这时前一个入栈的活动就会重新处于栈顶的位置.系统总是会显示处于栈顶的活动给用户

Android四大组件之——Activity的生命周期(图文详解)

上一篇文章讲了Activity的定义.状态和后退栈,现在讲讲Activity的重点和难点——Activity的生命周期. Activity生命周期的回调方法: //创建Activity public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } //Activity快要变成可见的 @Override protected void onStart() { super.onStart(

【Android基础篇】Activity的生命周期

Google开发者文档 http://developer.android.com/reference/android/app/Activity.html 应用的每个页面都是一个Activity,这些Activity都存放在一个Activity栈中,每次进入某个应用或者应用的某个界面时,新界面这个Activity就压入到Activity栈的顶部:退出或返回的时候就把栈顶的Activity弹出,之前的Activity就又到了栈顶. Activity生命周期里的四个状态 - Running : Act

Android四大组件之Activity的生命周期

Activity作为Android程序中的四大组件之一,它和大部分的组件一样都是有自己的生命周期,而Activity的生命周期总的分为五种状态以及七个方法! 只大致讲 五种状态 和 七个方法 五种状态: 在Activity生命周期即从创建到销毁全过程中,分为五种状态分为启动.运行.暂停.停止和销毁. 需要注意的是:Activity活动时不会在 启动 和 销毁 这两种状态下停留下来有活动,因为这两种状态作为Activity活动的过渡状态.所以在Activity触发启动操作之后马上就会进入运行状态不