Android中常見面試題

1.Dalvik和ART

  • Dalvik:應(yīng)用每次運行的時候陨晶,字節(jié)碼都需要通過即時編輯器轉(zhuǎn)換為機器碼。
    Android Runtime(ART):應(yīng)用第一次安裝,字節(jié)碼就會預(yù)先編譯成機器碼溃睹,使其成為真正的本地應(yīng)用。這個過程叫預(yù)編譯“預(yù)編譯”

  • Dalvik VM:使用jdk把Java源代碼編譯成.class文件胰坟,在使用Android提供的DX工具因篇,把.class文件編譯為.dex文件,再對.dex進行優(yōu)化笔横,成為.odex文件竞滓。

2.一個線程是否只有一個Looper?

  • 一個線程可以有多個Handler,但有且最多只能有一個Looper對象吹缔,他是一個TreadLocal
  • 普通線程可以通過Looper.prepared(); Looper.loop()方法變?yōu)長ooper線程商佑。

3.如何保證一個線程只有一個Looper?

  • 使用ThreadLocal厢塘,ThreadLocal可理解為一個本地存儲區(qū)域茶没,一個線程有一個Looper,ThreadLocal會把這個Looper對象存儲在本地晚碾,對其他線程的Looper沒有影響抓半。

4.View動畫,屬性動畫格嘁,幀動畫

  1. view動畫又稱作補間動畫:定義動畫開始和結(jié)束的兩幀笛求,指定動畫變化的時間和方式。通過平移糕簿,縮放探入,旋轉(zhuǎn)和透明度四種效果結(jié)合成負責(zé)的動畫效果。 translate scale alpha rotate <set></set>
  2. 幀動畫:通過不停的切換圖片實現(xiàn)動畫效果懂诗。 <animation-list></animation-list>
  3. 屬相動畫:不停的改變對象的屬性實現(xiàn)動畫效果蜂嗽。

5.Android中的4大引用

  1. 強引用:使用的內(nèi)存不可被回收,知道out of memory錯誤
  2. 軟引用:如果一個對象只具有軟引用响禽,那么內(nèi)存空間足夠時徒爹,垃圾回收器不會回收它荚醒;如果內(nèi)存空間不足了芋类,就會回收這些對象的內(nèi)存隆嗅。只要垃圾回收器沒有回收它,該對象就可以被程序使用侯繁。
  3. 弱引用:當(dāng)一個對象只具有弱引用胖喳,垃圾回收器線程在掃描的過程中,一旦發(fā)現(xiàn)了只具有弱引用的對象贮竟,不管當(dāng)前內(nèi)存空間足夠與否丽焊,都會回收它的內(nèi)存。
  • 軟引用和弱引用都可以和一個引用隊列聯(lián)合使用咕别,如果引用的對象被垃圾回收了技健,Java虛擬機就會把這個引用加入到與之關(guān)聯(lián)的引用隊列中。弱引用和軟引用你的根本區(qū)別在于:只具有弱引用的對象擁有更短暫的生命周期惰拱,可能隨時被回收雌贱。而只具有軟引用的對象只有當(dāng)前內(nèi)存不夠的時候才被回收,當(dāng)內(nèi)存足夠的時候偿短,通常不被回收欣孤。
  1. 虛引用:如果一個對象僅持有虛引用,那么它就和沒有任何引用一樣昔逗,在任何時候都可能被垃圾回收降传。虛引用主要用來跟蹤對象被垃圾回收的活動。虛引用必須和引用隊列聯(lián)合使用勾怒。

6.內(nèi)存優(yōu)化如何做婆排?

  1. 取消手動注冊的監(jiān)聽器:網(wǎng)絡(luò)監(jiān)聽器,廣播接收器笔链,手機狀態(tài)接收器等各種監(jiān)聽器段只。
  2. 集合中對象沒有清理造成的內(nèi)存泄漏:及時清理集合中的對象。ArrayList
  3. 資源對象沒有關(guān)閉造成內(nèi)存泄漏:做文件File的輸入卡乾、輸出流的時候翼悴,及時close文件資源,做數(shù)據(jù)庫處理用到了Cursor需要及時關(guān)閉幔妨。
  4. Bitmap沒有recycle()鹦赎,在自定義View的時候,通常會加載xml中的資源误堡,加載完后要recycle().
  5. 構(gòu)造Adapter時古话,沒有用ViewHolder對converView進行處理。
  6. 在自定義View時锁施,在onDraw方法中最好不要創(chuàng)建臨時變量陪踩,需要的變量盡量都創(chuàng)建為全局變量杖们,因為onDraw()方法會被重復(fù)多次的調(diào)用,在onDraw()中創(chuàng)建臨時變量肩狂,會導(dǎo)致系統(tǒng)瞬間產(chǎn)生大量的臨時對象摘完,系統(tǒng)內(nèi)存的開銷瞬間加大,增加了內(nèi)存壓力傻谁。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末孝治,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子审磁,更是在濱河造成了極大的恐慌谈飒,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件态蒂,死亡現(xiàn)場離奇詭異杭措,居然都是意外死亡,警方通過查閱死者的電腦和手機钾恢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進店門手素,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人赘那,你說我怎么就攤上這事刑桑。” “怎么了募舟?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵祠斧,是天一觀的道長。 經(jīng)常有香客問我拱礁,道長琢锋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任呢灶,我火速辦了婚禮吴超,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鸯乃。我一直安慰自己鲸阻,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布缨睡。 她就那樣靜靜地躺著鸟悴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪奖年。 梳的紋絲不亂的頭發(fā)上细诸,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天,我揣著相機與錄音陋守,去河邊找鬼震贵。 笑死利赋,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的猩系。 我是一名探鬼主播媚送,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼蝙眶!你這毒婦竟也來了季希?” 一聲冷哼從身側(cè)響起褪那,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤幽纷,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后博敬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體友浸,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年偏窝,在試婚紗的時候發(fā)現(xiàn)自己被綠了收恢。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡祭往,死狀恐怖伦意,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情硼补,我是刑警寧澤驮肉,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站已骇,受9級特大地震影響离钝,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜褪储,卻給世界環(huán)境...
    茶點故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一卵渴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鲤竹,春花似錦浪读、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至揩尸,卻和暖如春蛹屿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背岩榆。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工错负, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留坟瓢,地道東北人。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓犹撒,卻偏偏與公主長得像折联,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子识颊,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,601評論 2 353

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

  • 從三月份找實習(xí)到現(xiàn)在诚镰,面了一些公司,掛了不少祥款,但最終還是拿到小米清笨、百度、阿里刃跛、京東抠艾、新浪、CVTE桨昙、樂視家的研發(fā)崗...
    時芥藍閱讀 42,239評論 11 349
  • 2017年據(jù)說是找工作的寒冬检号,作為一個Android開發(fā),下面的一些問題可能在面試的時候遇到哦: 1蛙酪、java 內(nèi)...
    小相柳閱讀 520評論 0 4
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,072評論 25 707
  • 整理一些常見的Android面試題(針對于2~3年開發(fā)經(jīng)驗中所遇到的問題) synchronized鎖靜態(tài)方法和非...
    appzy閱讀 2,283評論 4 18
  • 跨越時空的三個女人的故事齐苛,并沒有沉下心來去看,我敢說桂塞,就算是坐下來靜靜地看凹蜂,也不一定可以看懂吧。 倫敦郊區(qū)的房子里...
    紅塵一小生閱讀 765評論 1 3