不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦 > 創(chuàng)業(yè)指南 > 職場(chǎng) > 面試題 > 安卓面試題及參考答案

安卓面試題及參考答案

時(shí)間: 如英753 分享

安卓面試題及參考答案

  面試題是安卓面試的時(shí)候經(jīng)常出現(xiàn)的形式,是安卓面試過程中必不可少的組成部分。下面是學(xué)習(xí)啦小編為大家?guī)淼陌沧棵嬖囶}及答案,相信對(duì)你會(huì)有幫助的。

  安卓面試題及答案(一)

  1.簡(jiǎn)要解釋一下activity、 intent 、intent filter、service、Broadcase、BroadcaseReceiver

  答案:一個(gè)activity呈現(xiàn)了一個(gè)用戶可以操作的可視化用戶界面

  一個(gè)service不包含可見的用戶界面,而是在后臺(tái)無限地運(yùn)行

  可以連接到一個(gè)正在運(yùn)行的服務(wù)中,連接后,可以通過服務(wù)中暴露出來的借口與其進(jìn)行通信

  一個(gè)broadcast receiver是一個(gè)接收廣播消息并作出回應(yīng)的component,broadcastreceiver沒有界面

  intent:content provider在接收到ContentResolver的請(qǐng)求時(shí)被激活。

  activity, service和broadcast receiver是被稱為intents的異步消息激活的。

  一個(gè)intent是一個(gè)Intent對(duì)象,它保存了消息的內(nèi)容。對(duì)于activity和service來說,它指定了請(qǐng)求的操作名稱和待操作數(shù)據(jù)的URI

  Intent對(duì)象可以顯式的指定一個(gè)目標(biāo)component。如果這樣的話,android會(huì)找到這個(gè)component(基于manifest文件中的聲明)并激活它。但如果一個(gè)目標(biāo)不是顯式指定的,android必須找到響應(yīng)intent的最佳component。

  它是通過將Intent對(duì)象和目標(biāo)的intent filter相比較來完成這一工作的。一個(gè)component的intent filter告訴android該component能處理的intent。intent filter也是在manifest文件中聲明的。

  2.IntentService有何優(yōu)點(diǎn)?

  答案:IntentService 的好處

  * Acitivity的進(jìn)程,當(dāng)處理Intent的時(shí)候,會(huì)產(chǎn)生一個(gè)對(duì)應(yīng)的Service

  * Android的進(jìn)程處理器現(xiàn)在會(huì)盡可能的不kill掉你

  * 非常容易使用

  3.橫豎屏切換時(shí)候activity的生命周期?

  答案:1、不設(shè)置Activity的android:configChanges時(shí),切屏?xí)匦抡{(diào)用各個(gè)生命周期,切橫屏?xí)r會(huì)執(zhí)行一次,切豎屏?xí)r會(huì)執(zhí)行兩次

  2、設(shè)置Activity的android:configChanges=”orientation”時(shí),切屏還是會(huì)重新調(diào)用各個(gè)生命周期,切橫、豎屏?xí)r只會(huì)執(zhí)行一次

  3、設(shè)置Activity的android:configChanges=”orientation|keyboardHidden”時(shí),切屏不會(huì)重新調(diào)用各個(gè)生命周期,只會(huì)執(zhí)行onConfigurationChanged方法

  4.如何將SQLite數(shù)據(jù)庫(dictionary.db文件)與apk文件一起發(fā)布?

  答案:可以將dictionary.db文件復(fù)制到Eclipse Android工程中的res aw目錄中。所有在res aw目錄中的文件不會(huì)被壓縮,這樣可以直接提取該目錄中的文件。可以將dictionary.db文件復(fù)制到res aw目錄中

  5.如何將打開res aw目錄中的數(shù)據(jù)庫文件?

  答案:在Android中不能直接打開res aw目錄中的數(shù)據(jù)庫文件,而需要在程序第一次啟動(dòng)時(shí)將該文件復(fù)制到手機(jī)內(nèi)存或SD卡的某個(gè)目錄中,然后再打開該數(shù)據(jù)庫文件。復(fù)制的基本方法是使用getResources().openRawResource方法獲得res aw目錄中資源的 InputStream對(duì)象,然后將該InputStream對(duì)象中的數(shù)據(jù)寫入其他的目錄中相應(yīng)文件中。在Android SDK中可以使用SQLiteDatabase.openOrCreateDatabase方法來打開任意目錄中的SQLite數(shù)據(jù)庫文件。

  6.Android引入廣播機(jī)制的用意?

  答案:a:從MVC的角度考慮(應(yīng)用程序內(nèi)),其實(shí)回答這個(gè)問題的時(shí)候還可以這樣問,android為什么要有那4大組件,現(xiàn)在的移動(dòng)開發(fā)模型基本上也是照搬的web那一套MVC架構(gòu),只不過是改了點(diǎn)嫁妝而已。android的四大組件本質(zhì)上就是為了實(shí)現(xiàn)移動(dòng)或者說嵌入式設(shè)備上的MVC架構(gòu),它們之間有時(shí)候是一種相互依存的關(guān)系,有時(shí)候又是一種補(bǔ)充關(guān)系,引入廣播機(jī)制可以方便幾大組件的信息和數(shù)據(jù)交互。

  b:程序間互通消息(例如在自己的應(yīng)用程序內(nèi)監(jiān)聽系統(tǒng)來電)

  c:效率上(參考UDP的廣播協(xié)議在局域網(wǎng)的方便性)

  d:設(shè)計(jì)模式上(反轉(zhuǎn)控制的一種應(yīng)用,類似監(jiān)聽者模式)

  7.Android dvm的進(jìn)程和Linux的進(jìn)程, 應(yīng)用程序的進(jìn)程是否為同一個(gè)概念

  答案:DVM指dalivk的虛擬機(jī)。每一個(gè)Android應(yīng)用程序都在它自己的進(jìn)程中運(yùn)行,都擁有一個(gè)獨(dú)立的Dalvik虛擬機(jī)實(shí)例。而每一個(gè)DVM都是在Linux 中的一個(gè)進(jìn)程,所以說可以認(rèn)為是同一個(gè)概念。

  8.sim卡的EF 文件有何作用

  答案:sim卡的文件系統(tǒng)有自己規(guī)范,主要是為了和手機(jī)通訊,sim本 身可以有自己的操作系統(tǒng),EF就是作存儲(chǔ)并和手機(jī)通訊用的

  9.嵌入式操作系統(tǒng)內(nèi)存管理有哪幾種,各有何特性

  答案:頁式,段式,段頁,用到了MMU,虛擬空間等技術(shù)

  10.什么是嵌入式實(shí)時(shí)操作系統(tǒng), Android 操作系統(tǒng)屬于實(shí)時(shí)操作系統(tǒng)嗎?

  答案:嵌入式實(shí)時(shí)操作系統(tǒng)是指當(dāng)外界事件或數(shù)據(jù)產(chǎn)生時(shí),能夠接受并以足夠快的速度予以處理,其處理的結(jié)果又能在規(guī)定的時(shí)間之內(nèi)來控制生產(chǎn)過程或?qū)μ幚硐到y(tǒng)作出快速響應(yīng),并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致運(yùn)行的嵌入式操作系統(tǒng)。主要用于工業(yè)控制、 軍事設(shè)備、 航空航天等領(lǐng)域?qū)ο到y(tǒng)的響應(yīng)時(shí)間有苛刻的要求,這就需要使用實(shí)時(shí)系統(tǒng)。又可分為軟實(shí)時(shí)和硬實(shí)時(shí)兩種,而android是基于linux內(nèi)核的,因此屬于軟實(shí)時(shí)。

  11.一條最長(zhǎng)的短信息約占多少byte?

  答案:中文70(包括標(biāo)點(diǎn)),英文160,160個(gè)字節(jié)。

  12.android中的動(dòng)畫有哪幾類,它們的特點(diǎn)和區(qū)別是什么?

  答案:兩種,一種是Tween動(dòng)畫、還有一種是Frame動(dòng)畫。Tween動(dòng)畫,這種實(shí)現(xiàn)方式可以使視圖組件移動(dòng)、放大、縮小以及產(chǎn)生透明度的變化;另一種Frame動(dòng)畫,傳統(tǒng)的動(dòng)畫方法,通過順序的播放排列好的圖片來實(shí)現(xiàn),類似電影。

  13.handler機(jī)制的原理

  答案:andriod提供了Handler 和 Looper 來滿足線程間的通信。Handler先進(jìn)先出原則。Looper類用來管理特定線程內(nèi)對(duì)象之間的消息交換(MessageExchange)。

  1)Looper: 一個(gè)線程可以產(chǎn)生一個(gè)Looper對(duì)象,由它來管理此線程里的MessageQueue(消息隊(duì)列)。

  2)Handler: 你可以構(gòu)造Handler對(duì)象來與Looper溝通,以便push新消息到MessageQueue里;或者接收Looper從Message Queue取出)所送來的消息。

  3) Message Queue(消息隊(duì)列):用來存放線程放入的消息。

  4)線程:UIthread 通常就是main thread,而Android啟動(dòng)程序時(shí)會(huì)替它建立一個(gè)MessageQueue。

  14.說說mvc模式的原理,它在android中的運(yùn)用

  答案:MVC(Model_view_contraller)”模型_視圖_控制器”。 MVC應(yīng)用程序總是由這三個(gè)部分組成。Event(事件)導(dǎo)致Controller改變Model或View,或者同時(shí)改變兩者。只要Controller改變了Models的數(shù)據(jù)或者屬性,所有依賴的View都會(huì)自動(dòng)更新。

  15.DDMS和TraceView的區(qū)別?

  答案:DDMS是一個(gè)程序執(zhí)行查看器,在里面可以看見線程和堆棧等信息,TraceView是程序性能分析器。

  16.java中如何引用本地語言

  答案:可以用JNI(java nativeinterface java 本地接口)接口。

  17.談?wù)凙ndroid的IPC(進(jìn)程間通信)機(jī)制

  答案:IPC是內(nèi)部進(jìn)程通信的簡(jiǎn)稱, 是共享”命名管道”的資源。Android中的IPC機(jī)制是為了讓Activity和Service之間可以隨時(shí)的進(jìn)行交互,故在Android中該機(jī)制,只適用于Activity和Service之間的通信,類似于遠(yuǎn)程方法調(diào)用,類似于C/S模式的訪問。通過定義AIDL接口文件來定義IPC接口。Servier端實(shí)現(xiàn)IPC接口,Client端調(diào)用IPC接口本地代理。

  18.NDK是什么

  答案:NDK是一些列工具的集合,NDK提供了一系列的工具,幫助開發(fā)者迅速的開發(fā)C/C++的動(dòng)態(tài)庫,并能自動(dòng)將so和java 應(yīng)用打成apk包。

  NDK集成了交叉編譯器,并提供了相應(yīng)的mk文件和隔離cpu、平臺(tái)等的差異,開發(fā)人員只需簡(jiǎn)單的修改mk文件就可以創(chuàng)建出so

>>>點(diǎn)擊下頁還有更多安卓面試題及參考答案

1083145