zoukankan      html  css  js  c++  java
  • Android的两种上下文的区别

    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();其他地方都可以使用
  • 相关阅读:
    SQL整理5
    SQL整理1 数据类型
    SQL整理2
    JavaScript 的DOM操作
    JavaScript 数据类型
    JavaScript
    CSS样式表
    sqlserver数据库 提纲
    Python基础第十二天:二分法算法
    Python基础第十一天:递归函数
  • 原文地址:https://www.cnblogs.com/android-blogs/p/5690608.html
Copyright © 2011-2022 走看看