: 知之为知之,不知为不知是知也!

  • 使用this, 说明当前类是context的子类,一般是activity application等;

this:代表当前,在Activity当中就是代表当前的Activity,换句话说就是Activity.this在Activity当中可以缩写为this.

Activity.this的context 返回当前activity的上下文,属于activity ,activity 摧毁他就摧毁

  • 使用getApplicationContext 取得的是当前app所使用的application,这在AndroidManifest中唯一指定。意味着,在当前app的任意位置使用这个函数得到的是同一个Context;

getApplicationContext(): 返回应用的上下文,生命周期是整个应用,应用摧毁,它才摧毁。

  • 使用getContext获取的是当前对象所在的Context, Context通常翻译成上下文,我通常当成场景来理解。
  • getApplication():andorid 开发中共享全局数据;
  • getBaseContext() 返回由构造函数指定或setBaseContext()设置的上下文

我们在平时的开发中,有时候可能会需要一些全局数据,来让应用中得所有Activity和View都能访问到,大家在遇到这种情况时,可能首先会想到自己定义一个类,然后创建很多静态成员,不过andorid已经为我们提供了这种情况的解决方案:在Android中,有一个名为Application的类,我们可以在Activity中使用getApplication(),方法来获得,它是代表我们的应用程序的类,使用它可以获得当前应用的主题,资源文件中的内容等,这个类更灵活的一个特性就是可以被我们继承,来添加我们自己的全局属性。

参考:

Android 中this、 getApplicationContext()、getApplication()之间的区别_梦之星辰-怀_新浪博客
http://blog.sina.com.cn/s/blog_a72ec20c0101coso.html

android 中 涉及到context的时候this和this.getApplictionContext的区别 - liuyun - ITeye技术网站
http://liuyun025.iteye.com/blog/1139970

Android 中this、getContext()、getApplicationContext()、getApplication()、getBaseContext() 之间的区别...相关推荐

  1. ​Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable]

    Android中如何使用Intent在Activity之间传递对象[使用Serializable或者Parcelable] 在Android中的不同Activity之间传递对象,我们可以考虑采用Bun ...

  2. IO多路复用中select、poll、epoll之间的区别

    本文来说下IO多路复用中select.poll.epoll之间的区别 文章目录 什么是IO多路复用 为什么有IO多路复用机制 同步阻塞(BIO) 同步非阻塞(NIO) IO多路复用(现在的做法) 3种 ...

  3. SQL Server中唯一索引和唯一约束之间的区别

    This article gives you an overview of Unique Constraints in SQL and also the Unique SQL Server index ...

  4. 解析java中方法的重载和重写之间的区别与联系

    解析java中方法的重载和重写之间的区别与联系 1 不同点 1.1 方法重写是在不同的类中(父子类),方法重载是在同一类中 1.2 方法重载最初的目的是构造方法的多样化,方法重写的目的是让重写的方法满 ...

  5. Android中adb push和adb install的使用区别

    在Android实际开发中,经常会使用adb命令,安装应用程序可以使用adb push 或者adb install.下面就来讲讲这两种安装方式的区别. adb push 能够指定安装目录.比如执行&q ...

  6. Android中的APK,TASK,PROCESS,USERID之间的关系

    开发Android已经有一段时间了,今天接触到底层的东西,所以对于进程,用户的id以及Android中的Task,Apk之间的关系,要做一个研究,下面就是研究结果: apk一般占一个dalvik,一个 ...

  7. Java Persistence API中的FetchType LAZY和EAGER之间的区别?

    我是Java Persistence API和Hibernate的新手. Java Persistence API中的FetchType.LAZY和FetchType.EAGER什么区别? #1楼 我 ...

  8. .NET中小数,浮点数和双精度之间的区别?

    .NET中的decimal , float和double float什么区别? 有人什么时候会使用其中之一? #1楼 对我来说,这是一个有趣的话题,因为今天,我们遇到了一个讨厌的小错误,涉及到deci ...

  9. Android中的Parcelable接口和Serializable用法和区别

    Parcelable接口: Interface for classes whose instances can be written to and restored from a Parcel. Cl ...

最新文章

  1. startsWith(),endsWith()的作用,用法,判断字符串a 是不是以字符串b开头或结尾
  2. python实现api server_使用Python的http.server实现一个简易的Web Api对外提供HanLP拼音转换服务...
  3. php 慢查询日志设置查看
  4. SpringCloud教程 | 第三篇: 服务消费者(Feign)
  5. Dubbo源码-从HelloWorld开始
  6. jquery简介 each遍历 prop attr
  7. 【Pygame】屏幕图形绘制
  8. ios富文本的简单使用 AttributedString
  9. java塞班播放器_coreplayer移动播放器下载塞班版s60v5 v1.42_手机通用播放器
  10. 用java编写猜数字游戏
  11. 深度应用驱动的医学知识图谱构建(一)
  12. Mac下修改文档编码方式
  13. Routeros花生壳域名解析脚本
  14. 作者谈《阿里巴巴Java开发手册(规约)》背后的故事
  15. 怎么关闭计算机桌面的弹窗,电脑桌面弹出的广告怎么设置关闭
  16. go mod init错误(go: cannot determine module path for source directory)
  17. 愤世嫉俗的程序员,总在某乎发表言论,当起了“键盘侠”
  18. tableau-去掉ABC方法
  19. 流感病毒爆发,科技带来希望?谷歌成功预测H1N1流感病毒
  20. eclipse下载网址收藏

热门文章

  1. 物联网通信协议——比较-MQTT、 DDS、 AMQP、XMPP、 JMS、 REST、 CoAP
  2. twisted系列教程十八–异步操作的并行运行
  3. C/C++:Windows编程—Hook IE浏览器实现URL拦截及更改(下)
  4. 生活中要常常鼓励别人
  5. netcat、nc工具随记
  6. 编写JQuery插件-2
  7. Ubuntu下配置Apache的Worker模式
  8. xheditor富文本框 存值与展示问题
  9. 让Terminal显示git分支
  10. Skeljs – 用于构建响应式网站的前端开发框架