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