设为首页 加入收藏

TOP

Android中context及全局变量小析
2014-11-24 13:59:57 来源: 作者: 【 】 浏览:0
Tags:Android context 全局 变量

今天在研究context的时候,对application和activity context有了一定的了解,下面是从网上复制过来的资料,


Application context和Activity context的区别:


这是两种不同的context,也是最常见的两种。第一种中context的生命周期与Application的生命周期相关的,context随着Application的销毁而销毁,伴随application的一生,与activity的生命周期无关。第二种中的context跟Activity的生命周期是相关的,但是对一个Application来说,Activity可以销毁几次,那么属于Activity的context就会销毁多次。至于用哪种context,得看应用场景,个人感觉用Activity的context好一点,不过也有的时候必须使用Application的context。application context可以通过Context.getApplicationContext或者Activity.getApplication方法获取。


还有就是,在使用context的时候,小心内存泄露,防止内存泄露,注意一下几个方面:


1. 不要让生命周期长的对象引用activity context,即保证引用activity的对象要与activity本身生命周期是一样的


2. 对于生命周期长的对象,可以使用application context


3. 避免非静态的内部类,尽量使用静态类,避免生命周期问题,注意内部类对外部对象引用导致的生命周期变化


在Android中,有一个Application类,在Activity中可以使用getApplication()方法获得实例,使用它就可以获得当前应用的主题、资源文件中的内容等,这个类更灵活的一个特性就是可以被继承,来添加自己的全局属性。例如开发一个游戏,需要保存分数,那么我们就可以继承Application,下面是个demo。


首先,先写个Application的子类:


然后在manifest.xml文件里面修改:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇WindowManager 中ayoutParams的各.. 下一篇Android SQLite增删改查

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: