按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点也都能说出了123来,但是这些孤立的点终究显得太零散了,因此,我想从今天开始,以最经典的手机安全卫士项目为例,自己锻炼一下,也是想和大家交流交流,希望大家都能给出见解,共同进步。
九、两种上下文的区别我们在创建对话框的时候:AlertDialog.Builder builder = new Builder(this);//创建对话框这里面我们用了this,我们知道“上下文”还可以使用getApplicationContext()。但是如果我们在这里放进去的是getApplicationContext(),程序就会出错。这里我们要讲讲这两个的区别:对于getApplicationContext()的api解释是:Return the context of the single, global Application object of the current process. This generally should only be used if you need a Context whose lifecycle is separate from the current context, that is tied to the lifetime of the process rather than the current component. 这里返回的是整个应用程序的上下文。而我们使用this,代表的是当前activity的上下文。关联这个activity的源码发现,它是上下文的一个子类。我们知道,子类有的父类不一定有。我们这里使用this的原因是:这个对话框是Activity的一部分,整个应用的上下文没有对话框这个属性。很多情况下这两个可以同时使用的。比如在我们给一个Toast的时候,这两个是都可以的。
------- 源自梦想、永远是你IT事业的好友、只是勇敢地说出我学到! ----------
转载于:https://www.cnblogs.com/dongdong230/p/4183094.html
