1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      Activity.this和getApplicationContext()的區(qū)別

      在android中常常會遇到與context有關(guān)的內(nèi)容,大多都是作為參數(shù)在傳遞,但是它的作用究竟是什么呢

      成都創(chuàng)新互聯(lián)一直在為企業(yè)提供服務(wù),多年的磨煉,使我們在創(chuàng)意設(shè)計,成都全網(wǎng)營銷推廣到技術(shù)研發(fā)擁有了開發(fā)經(jīng)驗。我們擅長傾聽企業(yè)需求,挖掘用戶對產(chǎn)品需求服務(wù)價值,為企業(yè)制作有用的創(chuàng)意設(shè)計體驗。核心團(tuán)隊擁有超過10多年以上行業(yè)經(jīng)驗,涵蓋創(chuàng)意,策化,開發(fā)等專業(yè)領(lǐng)域,公司涉及領(lǐng)域有基礎(chǔ)互聯(lián)網(wǎng)服務(wù)資陽托管服務(wù)器成都app開發(fā)、手機移動建站、網(wǎng)頁設(shè)計、網(wǎng)絡(luò)整合營銷。

      先說它的用法,舉個例子

      在語句 AlertDialog.Builder builder = new AlertDialog.Builder(this); 中,要求傳遞的參數(shù)就是一個context,在這里我們傳入的是this,那么這個this究竟指的是什么呢? 這里的this指的是Activity.this,是這個語句所在的Activity的this,是這個Activity 的上下文。網(wǎng)上有很多朋友在這里傳入this.getApplicationContext(),這是不對的。 AlertDialog對象是依賴于一個View的,而View是和一個Activity對應(yīng)的。 于是,這里涉及到一個生命周期的問題,this.getApplicationContext()取的是這個應(yīng)用程序的Context,Activity.this取的是這個Activity的Context,這兩者的生命周期是不同的,前者的生命周期是整個應(yīng)用,后者的生命周期只是它所在的Activity。而AlertDialog應(yīng)該是屬于一個Activity的,在Activity銷毀的時候它也就銷毀了,不會再存在;但是,如果傳 入this.getApplicationContext(),就表示它的生命周期是整個應(yīng)用程序,這顯然超過了它的生命周期了。 所以,在這里我們只能使用Activity的this。

       

      下面具體解釋它的內(nèi)涵

      其實Activity.this就是context的一個具體,Activity.this是你當(dāng)前所在的activity的上下文,this.getApplicationContext()取得的是整個應(yīng)用的上下文,在你把他們作為參數(shù)傳遞的時候,多數(shù)是用來標(biāo)注你要在哪個activity里面進(jìn)行操作,比如上文提到的AlertDialog.Builder builder = new AlertDialog.Builder(this);你是要在當(dāng)前的activity里面創(chuàng)建對話框,如果傳遞的是this.getApplicationContext(),這是整個應(yīng)用的上下文,代碼怎么會知道你想在哪個具體的activity里面創(chuàng)建對話框呢,所以,在這里應(yīng)該傳入的是你想創(chuàng)建對話框的那個activity的上下文,即Activity.this.如果這你都理解了,那么你也該明白,每個activity都有自己的上下文,而整個應(yīng)用只有一個上下文.

       

      總結(jié)

      getApplicationContext()
      返回應(yīng)用的上下文,生命周期是整個應(yīng)用,應(yīng)用摧毀它才摧毀。

      Activity.this 

      返回當(dāng)前activity的上下文,生命周期只是它所在的Activity,activity 摧毀他就摧毀

      getBaseContext()  返回由構(gòu)造函數(shù)指定或setBaseContext()設(shè)置的上下文


      標(biāo)題名稱:Activity.this和getApplicationContext()的區(qū)別
      鏈接分享:http://ef60e0e.cn/article/gegeod.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        高雄市| 青岛市| 昂仁县| 和顺县| 通辽市| 鄢陵县| 海晏县| 阜平县| 宜丰县| 塘沽区| 吴江市| 平舆县| 河津市| 临澧县| 福海县| 伊宁县| 海门市| 东源县| 南开区| 麻阳| 正宁县| 景德镇市| 德兴市| 新巴尔虎左旗| 五家渠市| 什邡市| 泉州市| 河北省| 永寿县| 嘉义县| 来凤县| 张家川| 垫江县| 准格尔旗| 嘉义县| 梁河县| 东宁县| 泸水县| 岱山县| 满洲里市| 河源市|