android this,getApplication(),getApplicationContext()的区别

this:虽然回去的是当前的.class,但是Activity的class是继承的Context的class,所以可以获取到当前class的context

getApplication():获取的是工程的Application,但是Application.class是继承于Context.class的,所以能够获取到Application的context的,而且它能够获得Application的主题资源文件等内容。

getApplicationContext():获取的是Application的context

getBaseContext():是获取当前Activity的context

  

同时对getApplication()和getApplicationContext()进行了解。

 

从源代码可以知道getApplication()获得的Application类对象,Application类继承

ContextWapper,ContextWapper继承Context类。

 

getApplicationContext()直接获得Context类对象。

 

从某种意义上说两个方法是用于获得应用程序的全局对象,Application类中添加了一些事件。

 

具体他们有什么区别还是很模糊,望指教。

原文地址:https://www.cnblogs.com/xuewater/p/2646409.html