context

Glide.with(this).load(url).into(imageView);
with()方法可以接收Context、Activity或者Fragment类型的参数。注意with()方法中传入的实例会决定Glide加载图片的生命周期,如果传入的是Activity或者Fragment的实例,那么当这个Activity或Fragment被销毁的时候,图片加载也会停止。如果传入的是ApplicationContext,那么只有当应用程序被杀掉的时候,图片加载才会停止。


下图context :
ContextWrapper是上下文功能的封装类,而ContextImpl则是上下文功能的实现类。

ContextThemeWrapper是一个带主题的封装类,而它有一个直接子类就是Activity,所以Activity和Service以及Application的Context是不一样的,只有Activity需要主题,Service不需要主题。

Context一共有三种类型,分别是Application、Activity和Service。在绝大多数场景下,Activity、Service和Application这三种类型的Context都是可以通用的。不过有几种场景比较特殊,比如启动Activity,还有弹出Dialog。出于安全原因的考虑,Android是不允许Activity或Dialog凭空出现的,一个Activity的启动必须要建立在另一个Activity的基础之上,也就是以此形成的返回栈。而Dialog则必须在一个Activity上面弹出(除非是System Alert类型的Dialog),因此在这种场景下,我们只能使用Activity类型的Context,否则将会出错。

Application中的Context和Activity中的Context的区别

Activity.this取的是当前Activity的Context,它的生命周期则只能存活于当前Activity
getApplicationContext() 生命周期是整个应用,当应用程序摧毁的时候,它才会摧毁

context.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 看了今天的文章,想起自己作为一个傻瓜的例子,也给大家一个借鉴吧。就是在去年股灾的时候,当时我刚从国外回国过暑假。因...
    Leslie91阅读 503评论 0 1
  • 文化通史153 今日启发: Elton: 第九章 中世文化与禅(一) 第二节 从庶民教育到宋学的兴盛 宋学与禅 这...
    Eltonpeople阅读 482评论 0 0
  • ❤️相生相克,就如同阴阳一样,是事物不可分离的两个方面。没有生就没有事物的发生和成长;没有克,就不能维持事物的发展...
    静待花开20阅读 968评论 0 0
  • 你好,我是小熙,欢迎打开我的日复盘。 每天给自己20分钟复盘时间,重新察审视自己一下吧。总是忙着低头砍树,记得抽空...
    和小熙一起变好阅读 761评论 0 1
  • 关于怎么样做好一名公务员的具体措施 要成为一名出色的公务员,可以采取以下几个方面的措施: 1.坚定政治信念:作为一...
    不会写太难了阅读 559评论 0 1

友情链接更多精彩内容