博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
朝花夕拾-android 自定义application 管理activity的生命周期
阅读量:5246 次
发布时间:2019-06-14

本文共 1570 字,大约阅读时间需要 5 分钟。

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

可以自定义application:myapplication.

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

1 private List
activityList = new LinkedList
(); 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 db10 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

转载于:https://www.cnblogs.com/zj2012zy/p/4417292.html

你可能感兴趣的文章
图论-次短路求法
查看>>
What's New for Visual C# 6.0
查看>>
ExtJs学习笔记之ComboBox组件
查看>>
关于收费软件
查看>>
getopt_long
查看>>
TensorFlow MNIST CNN 代码
查看>>
javascript之Style物
查看>>
JSON跨域解决方案收集
查看>>
SSH框架整合总结
查看>>
图的深度优先遍历
查看>>
C# 之 提高WebService性能大数据量网络传输处理
查看>>
md5sum命令详解
查看>>
[bzoj1004] [HNOI2008] Cards
查看>>
原生HttpClient详细使用示例
查看>>
几道面试题
查看>>
Factory Design Pattern
查看>>
python中贪婪与非贪婪
查看>>
guava API整理
查看>>
无锁编程笔记
查看>>
jquery mobile
查看>>