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();其他地方都可以使用
  • 相关阅读:
    iOS中的两种主要架构及其优缺点浅析
    iOS
    iOS开发人员不容错过的10大工具
    安装CocoaPods报错
    把你唱的歌用乐器表达出来

    String.Split函数
    四部和声
    SerializeField和HideInInspector
    十年许嵩雅俗共赏
  • 原文地址:https://www.cnblogs.com/android-blogs/p/5690608.html
Copyright © 2011-2022 走看看