Context 顾名思义,上下文,可是上下文又是什么东东呢?
简单来说,context就是一个场景,一个环境,一个人与机器的交互过程。在eclipse中找一个搞个Activity,一直按f3查看她的父类,最后会发现Context这个东西,就像Object一样,她是个抽象类。
很多时候,我们new 一个dialog或者textview时都会传一个context,有时会用到this或是MainActivity.this,有时会用到getApplicationContext,看上去效果是一样的,但其实这两个东东返回的对象是不一样的。
如何选择呢?当与UI相关时,需用Activity的实例,其他的可以用getApplicationContext.
那么还有一个问题,项目中会有一些工具类,可能要传入context参数,而获取到这个单例是static的,有时为了省事,直接在Activity中传this,那么只要我们的app还在运行,这个Activity就无法回收,于是OOM就来了。这时getApplicationContext是个不错的选择。
转载自:http://blog.csdn.net/lmj623565791/article/details/40481055