Android面試一天一題(10 Day)

有些東西,大家天天都能看到驾茴,但并不一定了解和在意它盼樟。在Android開發(fā)中,加載資源锈至,啟動一個新的Activity晨缴,獲取系統(tǒng)服務,獲取數(shù)據(jù)庫路徑峡捡,創(chuàng)建一個View等都會使用到Context击碗。Context就像一個長著大眾臉的同學,你天天和它在一起上課们拙,但卻說不出它是誰稍途。

面試題:如何理解Android中的Context,它有什么用砚婆?

官方文檔對于Context的解釋:

Interface to global information about an application environment. This is an abstract class whose implementation is provided by the Android system. It allows access to application-specific resources and classes, as well as up-calls for application-level operations such as launching activities, broadcasting and receiving intents, etc.

中文翻譯“Context”為“上下文械拍,背景,環(huán)境射沟,語境”殊者,有點抽象。對照上面的英文验夯,也很容易理解它的意思:Context提供了一個應用的運行環(huán)境猖吴,通過這個上下文應用才可以訪問資源,才能完成和其他組件挥转、服務的交互海蔽。它就是一個調(diào)用者和具體實現(xiàn)的橋接。

再看看這個圖绑谣,可以直觀的了解Context相關類的繼承關系:


圖片來自網(wǎng)絡

具體的實現(xiàn)党窜,大家可以看一看ContextImpl這個類的源碼,理一下它和LoadApk的關系借宵,大家就會很容易明白Context是如何處理資源的幌衣。

注意:上圖中的mPackageInfo是一個LoadApk對像,這個LoadApk是一個hide類型的類壤玫,所以你在SDK中是找不到它的豁护。

但是,面對天天見的“大眾臉同學”Context欲间,很多人更想知道楚里,理解它有什么實際的意義。做應用開發(fā)猎贴,我們只要會使用它不就行了嗎班缎?

我先問一個簡單的問題:

Application(或者Service)和Activity都可以調(diào)用Context的startActivity方法蝴光,那么在這兩個地方調(diào)用startActivity有區(qū)別嗎?

如果你曾經(jīng)遇到過达址,就會知道在Application(或者Service)需要給Intent設置Intent.FLAG_ACTIVITY_NEW_TASK才能正常啟動Activity蔑祟,這就會引出Activity的Task棧問題,以后再做分析沉唠。

理解Context做瞪,對于我經(jīng)歷的項目來說,最有用的就是對于插件框架的開發(fā)了右冻。如果有面試官問你:

Context的實例是什么時候創(chuàng)建的?一個應用里面會有幾個Context的實例著拭?

對于一般的應用來說纱扭,你會覺得這兩個問題很無聊。但如果你需要做插件開發(fā)儡遮,上面的問題就變成是很關鍵的問題了乳蛾。你的插件框架會是一個小型的Android Framework層,你當然得自己處理插件的Application和Activity創(chuàng)建鄙币,那么你肯定要解決好這兩個問題肃叶。詳情可以查看ActivityThread這個類的源碼

也就是說十嘿,如果我要招一個做插件開發(fā)的人因惭,我肯定要了解一下他對這些問題的看法〖ㄖ裕或者一個人的簡歷上說他對Android Framework層很精通蹦魔,也可以拿這些問題檢測一下。

小結

有網(wǎng)友問“面試官是怎么考慮求職者的經(jīng)驗咳燕、學歷勿决、編程水平”這些方面的,其實這個問題不能脫離實際的公司和項目來回答招盲。我只能說幾個場景低缩,有些公司有人才培養(yǎng)計劃項目也不緊張,那么他們在招人時是以培養(yǎng)和貯備為目的曹货,會更重視面試者的理解和學習能力咆繁。但如何一家公司急切需要人進來解決問題,他們就會更在乎你的項目經(jīng)驗了控乾,最好是直接招以前就做過類似項目的么介。如果一家公司只是需要碼農(nóng)來搬代碼,那么只要不是太差的蜕衡,他們會更看重性價比壤短。

所以有公司關注這些對Context或Framework方面的理解的面式題设拟,一是他們應用可能遇到了一些問題,需要一些對機制比較了解的開發(fā)來解決久脯;二是想通過這類問題纳胧,考察面試者是否真如簡歷上般資深,因為他們相信做多了項目的人帘撰,很容易遇到機制方面的問題(如Dex的65535方法數(shù)限制)跑慕。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市摧找,隨后出現(xiàn)的幾起案子核行,更是在濱河造成了極大的恐慌,老刑警劉巖蹬耘,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件芝雪,死亡現(xiàn)場離奇詭異,居然都是意外死亡综苔,警方通過查閱死者的電腦和手機惩系,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來如筛,“玉大人堡牡,你說我怎么就攤上這事⊙钆伲” “怎么了晤柄?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長拭嫁。 經(jīng)常有香客問我可免,道長,這世上最難降的妖魔是什么做粤? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任浇借,我火速辦了婚禮,結果婚禮上怕品,老公的妹妹穿的比我還像新娘妇垢。我一直安慰自己泞坦,他們只是感情好磅氨,可當我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布圆到。 她就那樣靜靜地躺著伺通,像睡著了一般。 火紅的嫁衣襯著肌膚如雪等孵。 梳的紋絲不亂的頭發(fā)上辈赋,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天袋哼,我揣著相機與錄音炫乓,去河邊找鬼刚夺。 笑死献丑,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的侠姑。 我是一名探鬼主播创橄,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼莽红!你這毒婦竟也來了妥畏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤安吁,失蹤者是張志新(化名)和其女友劉穎醉蚁,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鬼店,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡馍管,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了薪韩。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡捌锭,死狀恐怖俘陷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情观谦,我是刑警寧澤拉盾,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站豁状,受9級特大地震影響捉偏,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜泻红,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一夭禽、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧谊路,春花似錦讹躯、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至惨恭,卻和暖如春秉馏,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背脱羡。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工萝究, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留免都,地道東北人。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓糊肤,卻偏偏與公主長得像琴昆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子馆揉,可洞房花燭夜當晚...
    茶點故事閱讀 45,507評論 2 359

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,283評論 25 707
  • afinalAfinal是一個android的ioc业舍,orm框架 https://github.com/yangf...
    passiontim閱讀 15,435評論 2 45
  • 廣州開始唱“空城計” Todywu2017-1-24 這些年在廣州過年,從十年前開始慢慢變化升酣,到如今十個年頭過去舷暮,...
    todywu閱讀 772評論 0 51
  • 從昨天糾結到今天早上 終于下了決定買了武漢的票 獨自一人 匆忙的訂票匆忙的趕車..這一次沒有做任何的路線攻略 就想...
    怪癖有點多閱讀 263評論 0 1
  • 2016.09.18 今天休了一天假,和喵一起去公園玩兒噩茄。 準備幼兒園安排的認識花和樹葉的小簡報下面。 一出門,路上就...
    摹喵居士閱讀 113評論 0 0