android-Application的使用-随心

一.Application介绍
Application和Activity,Service一样,是android框架的一个系统组件,但不同的是android系统会为每个App运行时创建一个Application类的对象且仅创建一个,所以看成是一个单例模式的存在,它的生命周期与App共存亡,它是全局的又是单例的,所以在每个Activity,Service获取的Application都是同一个对象(获取的方法可以用getApplication()和getApplicationContext()获取)
二.Application一些方法
onCreate 在创建应用程序时创建
onTerminate 当终止应用程序对象时调用,不保证一定被调用,当程序是被内核终止以便为其他应用程序释放资源,那
么将不会提醒,并且不调用应用程序的对象的onTerminate方法而直接终止进程
onLowMemory 当后台程序已经终止资源还匮乏时会调用这个方法。好的应用程序一般会在这个方法里面释放一些不必
要的资源来应付当后台程序已经终止,前台应用程序内存还不够时的情况。
onConfigurationChanged 配置改变时触发这个方法
三.利用Application来使Activity之间传数据
1.我们知道Activity之间传数据可以用Intent.putExtra()要传一些比较复杂的对象我们可以实现Serializable或者Parcellable接口,这其实是Android的一种IPC数据传递的方法。
2.但既然两个Activity都是同一个App里,获取的又是同一个Application,我们就可以在Application里创建一个HashMap
  
   来用字符串索引获取对象,这里为了不让内存泄露,在取完对象的时候,把这个HashMap清除掉

  
四.Application数据缓存
用HashMap数据来存储,如果数据多的话还要一个软引用(SoftReference)
以后有新的认识,再继续更新。。。

你可能感兴趣的:(android-Application的使用-随心)