Android的两种上下文的区别
2016-07-21 09:49
453 查看
1。Activity.this,Activity是间接继承自Context
2。getApplicationContext()返回来的就是Context
3。getBaseContext()返回的也是Context;
4。getApplication()返回的也是Context;
所以后面三者就归于一种Context来讲
针对对话框来讲解:
对话框和Activity的关系:对话框是挂载在Activity上
对话框是Activity的一部分
如果没有Activity就无法创建对话框。
Activity.this是context的一个子类
Java基础的时候说过子类有的父类不一定有,父类有的子类一定有
所以context就不一定有Activity的东西。
分别在什么情况下使用呢?
创建数据库的时候:getApplicationContext();生命周期比较长
大多数情况下使用:Activity.this 推荐使用。因为Activity结束了,他的生命周期也就结束了
而一个activity结束但是getApplicationContext()并未结束,就会导致其占用资源的时间过长,进而产生错误。
重点强调,对话框中和popupwindow不能使用getApplicationContext();其他地方都可以使用
2。getApplicationContext()返回来的就是Context
3。getBaseContext()返回的也是Context;
4。getApplication()返回的也是Context;
所以后面三者就归于一种Context来讲
针对对话框来讲解:
对话框和Activity的关系:对话框是挂载在Activity上
对话框是Activity的一部分
如果没有Activity就无法创建对话框。
Activity.this是context的一个子类
Java基础的时候说过子类有的父类不一定有,父类有的子类一定有
所以context就不一定有Activity的东西。
分别在什么情况下使用呢?
创建数据库的时候:getApplicationContext();生命周期比较长
大多数情况下使用:Activity.this 推荐使用。因为Activity结束了,他的生命周期也就结束了
而一个activity结束但是getApplicationContext()并未结束,就会导致其占用资源的时间过长,进而产生错误。
重点强调,对话框中和popupwindow不能使用getApplicationContext();其他地方都可以使用
相关文章推荐
- Android Studio 使用Gradle引入第三方库文件的总结
- Android学习进阶和IoC
- 收集android上开源的酷炫的交互动画和视觉效果:Interactive-animation
- Android 6.0下出错: UnsatisfiedLinkError: dlopen failed . text relocations
- Android API之ExternalStorage操作
- Android中国开发精英必须知道的内容
- 关于shape
- android---重写TextView实现跑马灯
- swiprefreshlayout主动显示小圆圈
- Android View 测量
- Service 服务
- Retrofit中文说明
- xUtils 中的BitmapUtils 一些注释
- Android监听程序的安装和卸载
- Android 5.0 API
- Android 单位px、dp、sp转换工具类
- Android Lollipop
- Android 自定义View实现ViewPager指示器
- Android 监听Notification 被清除实例代码
- Android锁屏状态下弹出activity,如新版qq的锁屏消息提示