context 和 getApplicationContext()

在android中常常會遇到與context有關(guān)的內(nèi)容:
比如AlertDialog彈窗:在語句

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齐媒。

new AlertDialog.Builder(getApplicationContext())時發(fā)生錯誤:
E/AndroidRuntime(5844): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application

于是查了查:
getApplicationContext() 生命周期是整個應(yīng)用蒲每,應(yīng)用摧毀它才摧毀 Activity.this的context屬于activity ,activity 摧毀他就摧毀
activity.this要返回一個activity喻括,而getApplicationContext()就不一定返回一個activity

總結(jié)
getApplicationContext()
返回應(yīng)用的上下文邀杏,生命周期是整個應(yīng)用,應(yīng)用摧毀它才摧毀唬血。

Activity.this
返回當前activity的上下文望蜡,生命周期只是它所在的Activity,activity 摧毀他就摧毀

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拷恨,一起剝皮案震驚了整個濱河市脖律,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌腕侄,老刑警劉巖小泉,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異冕杠,居然都是意外死亡微姊,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門分预,熙熙樓的掌柜王于貴愁眉苦臉地迎上來兢交,“玉大人,你說我怎么就攤上這事笼痹∨湓” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵凳干,是天一觀的道長界逛。 經(jīng)常有香客問我,道長纺座,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任溉潭,我火速辦了婚禮净响,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘喳瓣。我一直安慰自己馋贤,他們只是感情好,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布畏陕。 她就那樣靜靜地躺著配乓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上犹芹,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天崎页,我揣著相機與錄音,去河邊找鬼腰埂。 笑死飒焦,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的屿笼。 我是一名探鬼主播牺荠,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼驴一!你這毒婦竟也來了休雌?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤肝断,失蹤者是張志新(化名)和其女友劉穎杈曲,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體孝情,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡鱼蝉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了箫荡。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片魁亦。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖羔挡,靈堂內(nèi)的尸體忽然破棺而出洁奈,到底是詐尸還是另有隱情,我是刑警寧澤绞灼,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布利术,位于F島的核電站,受9級特大地震影響低矮,放射性物質(zhì)發(fā)生泄漏印叁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一军掂、第九天 我趴在偏房一處隱蔽的房頂上張望轮蜕。 院中可真熱鬧,春花似錦蝗锥、人聲如沸跃洛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽汇竭。三九已至葱蝗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間细燎,已是汗流浹背两曼。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留找颓,地道東北人合愈。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像击狮,于是被迫代替她去往敵國和親佛析。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內(nèi)容