- 相關(guān)推薦
android面試題
1. 下列哪些語句關(guān)于內(nèi)存回收的說明是正確的? (b )
A、 程序員必須創(chuàng)建一個線程來釋放內(nèi)存 B、 內(nèi)存回收程序負(fù)責(zé)釋放無用內(nèi)存 C、 內(nèi)存回收程序允許程序員直接釋放內(nèi)存 D、 內(nèi)存回收程序可以在指定的時間釋放內(nèi)存對象
2. 下面異常是屬于Runtime Exception 的是(abcd)(多選)
A、ArithmeticException B、IllegalArgumentException C、NullPointerException D、BufferUnderflowException
3. Math.round(11.5)等于多少(). Math.round(-11.5)等于多少(c). c
A、11 ,-11 B、11 ,-12 C、12 ,-11 D、12 ,-12
4.activity、Service、BroadcastReceiver的作用(android)
Activity:Activity是Android程序與用戶交互的窗口,是Android構(gòu)造塊中最基本的一種,它需要為保持各界面的狀態(tài),做很多持久化的事情,妥善管理生命周期以及一些跳轉(zhuǎn)邏輯
service:后臺服務(wù)于Activity,封裝有一個完整的功能邏輯實現(xiàn),接受上層指令,完成相關(guān)的指令,定義好需要接受的Intent提供同步和異步的接口
BroadCast Receiver:接受一種或者多種Intent作觸發(fā)事件,接受相關(guān)消息,做一些簡單處理,轉(zhuǎn)換成一條Notification,統(tǒng)一了Android的事件廣播模型
5.顯式intent和隱式intent的區(qū)別是什么(android)
Intent定義:Intent是一種在不同組件之間傳遞的請求消息,是應(yīng)用程序發(fā)出的請求和意圖。作為一個完整的消息傳遞機制,Intent不僅需要發(fā)送端,還需要接收端。
顯式Intent定義:對于明確指出了目標(biāo)組件名稱的Intent,我們稱之為顯式Intent。
隱式Intent定義:對于沒有明確指出目標(biāo)組件名稱的Intent,則稱之為隱式Intent。
說明:Android系統(tǒng)使用IntentFilter 來尋找與隱式Intent相關(guān)的對象。
6.Android中線程同步的方法
線程同步的方法可以采用同步方法和同步塊。
7.android 中的動畫有哪幾種,它們的特點和區(qū)別是什么 ?
兩種,一種是補間動畫(Tween)動畫、還有一種是幀動畫(Frame)動畫。Tween動畫,這種實現(xiàn)方式可以使視圖組件移動、放大、縮小以及產(chǎn)生透明度的變化;另一種Frame動畫,傳統(tǒng)的動畫方法,通過順序的播放排列好的圖片來實現(xiàn),類似電影。
8.描述handler 機制的原理
andriod提供了 Handler 和 Looper 來滿足線程間的通信。
Handler 先進(jìn)先出原則。
Looper類用來管理特定線程內(nèi)對象之間的消息交換(Message Exchange)。
1)Looper: 一個線程可以產(chǎn)生一個Looper對象,由它來管理此線程里的Message Queue(消息隊列)。
2)Handler: 你可以構(gòu)造Handler對象來與Looper溝通,以便push新消息到Message Queue里;或者接收Looper從Message Queue取出)所送來的消息。
3) Message Queue(消息隊列):用來存放線程放入的消息。
4)線程:UI thread 通常就是main thread,而Android啟動程序時會替它建立一個Message Queue。
9.說說 android 中 mvc 的具體體現(xiàn)
mvc是model,view,controller的縮寫,mvc包含三個部分:
模型(model)對象:是應(yīng)用程序的主體部分,所有的業(yè)務(wù)邏輯都應(yīng)該寫在該層。
視圖(view)對象:是應(yīng)用程序中負(fù)責(zé)生成用戶界面的部分。也是在整個mvc架構(gòu)中用戶唯一可以看到的一層,接收用戶的輸入,顯示處理結(jié)果。
控制器(control)對象:是根據(jù)用戶的輸入,控制用戶界面數(shù)據(jù)顯示及更新model對象狀態(tài)的部分,控制器更重要的一種導(dǎo)航功能,響應(yīng)用戶出發(fā)的相關(guān)事件,交給m層處理。
android鼓勵弱耦合和組件的重用,在android中mvc的具體體現(xiàn)如下:
1)視圖(view):一般采用xml文件進(jìn)行界面的描述,使用的時候可以非常方便的引入。
2)控制層(controller):android的控制層的重任通常落在了眾多的acitvity的肩上,這句話也就暗含了不要在 acitivity中寫過多的代碼,要通過activity交割model業(yè)務(wù)邏輯層處理,這樣做的另外一個原因是android中的acitivity 的響應(yīng)時間是5s,如果耗時的操作放在這里,程序就很容易被回收掉。
3)模型層(model):對數(shù)據(jù)庫的操作、對網(wǎng)絡(luò)等的操作都應(yīng)該在model里面處理,當(dāng)然對業(yè)務(wù)計算等操作也是必須放在的該層的。
10.請介紹下 Android 中常用的五種布局
幀布局(FrameLayout)
線性布局(LinearLayout)
表格布局(TableLayout)
相對布局(RelativeLayout)
絕對布局(AbsoluteLayout)
【android面試題】相關(guān)文章:
Android的面試題分享11-21
華為android面試題07-30
android崗位職責(zé)05-29
android面試調(diào)試技巧12-08
android java 實習(xí)總結(jié)11-20
Android不能承受之亂08-03
Android開發(fā)簡歷模板05-18
android論文參考文獻(xiàn)11-08
android面試問題與答案12-09
android 崗位職責(zé)范本11-02