kotlin Application的特点、作用以及写法


Application简介

Application和Actovotu,Service一样是android框架的一个系统组件,在启动app的时候都需要初始化某些资源,监听App的各种状态,如:锁屏,横竖屏切换、进入后台等。

1、Application的特点

    默认是全局单例
    Application的生命周期就等于这个程序的生命周期

2、作用

    初始化资源:App启动时会在Application的onCreate()方法中初始化一些全局资源,系统配置,三方sdk等。例如日志框架,内存溢出检测
    数据传递:由于Application对象是全局唯一的,所以可以用来缓存一些全局变量,这些变量在任何地方都可以调用,达到共享目的。
    数据缓存

数据传递实例: 假如有一个Activity A, 跳转到 Activity B ,并需要推荐一些数据,通常的作法是Intent.putExtra() 让Intent携带,或者有一个Bundle把信息加入Bundle让Intent推荐Bundle对象,实现传递。但这样作有一个问题在 于,Intent和Bundle所能携带的数据类型都是一些基本的数据类型,如果想实现复杂的数据传递就比较麻烦了,通常需要实现 Serializable或者Parcellable接口。这其实是Android的一种IPC数据传递的方法。如果我们的两个Activity在同一个 进程当中为什么还要这么麻烦呢,只要把需要传递的对象的引用传递过去就可以了。
基本思路是这样的。在Application中创建一个HashMap<String,Object> ,以字符串为索引,Object为value这样我们的HashMap就可以存储任何类型的对象了。在Activity A中把需要传递的对象放入这个HashMap,然后通过Intent或者其它途经再把这人索引的字符串传递给Activity B ,Activity B 就可以根据这个字符串在HashMap中取出这个对象了。只要再向下转个型 ,就实现了对象的传递。

数据缓存实例: 在application中建立两个HashMap<String,Object>一个用于数据的传递,一个用于缓 存一些数据。比如有一个Activity需要从网站获取一些数据,获取完之后我们就可以把这个数据cache到Application 当中,当页面设置到其它Activity再回来的时候,就可以直接使用缓存好的数据了。但如果需要cache一些大量的数据,最好是cache一些 (软引用)SoftReference ,并把这些数据cache到本地rom上或者sd卡上。如果在application中的缓存不存在,从本地缓存查找,如果本地缓存的数据也不存在再从网 络上获取。(缓存用户信息)

3、写法

/**
* 0、全局的applicationContext
* 1、缓存数据(用户信息,token,头像昵称等等)
* 2、传递数据(activity、fragment数据的传递,传递后记得清空)
* 3、初始化第三方SDK:1日志框架、2内存溢出检测 等等
*/
class MyAppliction : Application() {
//val hashMap=hashMapof()
companion object {
@SuppressLint("StaticFieldLeak")
private var context: Context? = null

val cacheData: Map<String, Any> = HashMap()//缓存的数据,暂时保存,随着app的关闭而消失(保存用户信息,token,头像昵称等等)
val transferData: Map<String, Any> = HashMap()//传递的数据,activity、fragment数据的传递,传递后记得清空
}

fun getContext(): Context? {
return context
}

override fun onCreate() {
super.onCreate()
context = applicationContext

//初始化第三方SDK:1日志框架、2内存溢出检测 等等

}
}

全局的applicationContext使用注意:凡是跟UI相关的,都应该使用Activity做为Context来处理;其他的一些操作,Service,Activity,Application等实例都可以,

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

kotlin Application的特点、作用以及写法

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » kotlin Application的特点、作用以及写法
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏