国产激情久久久久影院小草_国产91高跟丝袜_99精品视频99_三级真人片在线观看

android面試技巧分享

時間:2020-10-17 19:33:10 面試技巧 我要投稿

android面試技巧分享

  1. Intent的幾種有關(guān)Activity啟動的方式有哪些,你了解每個含義嗎?

android面試技巧分享

  FLAG_ACTIVITY_SINGLE_TOP如果目標(biāo)Activity已經(jīng)運(yùn)行在棧頂,將不會再啟動

  = singleTop

  FLAG_ACTIVITY_BROUGHT_TO_FRONT 、=singleTask

  FLAG_ACTIVITY_MULTIPLE_TASK=singleInstance

  FLAG_ACTIVITY_CLEAR_TOP、如果被啟動的activity已經(jīng)運(yùn)行在當(dāng)前 task,將不會再創(chuàng)建新的活動實例,位于其上的其它activity將會被關(guān)閉。

  2. Activity和Task的啟動模式有哪些? 每種含義是什么?

  3. 通過Intent傳遞一些二進(jìn)制數(shù)據(jù)的方法有哪些?

  1). 使用Serializable接口實現(xiàn)序列化,這是Java常用的方法。

  2). 實現(xiàn)Parcelable接口,這里Android的部分類比如Bitmap類就已經(jīng)實現(xiàn)了,同

  時Parcelable在Android AIDL中交換數(shù)據(jù)也很常見的。

  4. 能說下Android應(yīng)用的入口點嗎?

  真正的Android入口點是application的main,你可以看下androidmanifest.xml的包含關(guān)系就清楚了。

  5. Android都有哪些XML解析器,都熟練掌握嗎?

  這里SAX和DOM、XmlPull相信做過Web開發(fā)的都已經(jīng)滾瓜爛熟了。

  6. SQLite支持事務(wù)嗎? 添加刪除如何提高性能?

  SQLite作為輕量級的數(shù)據(jù)庫,比MySQL還小,但支持SQL語句查詢,提高性能可以考慮通過優(yōu)化的SQL查詢語句方式處理。SQLITE默認(rèn)就是打開事務(wù)的。

  7. Android Service和Binder、AIDL你都熟練嗎?

  Binder是系統(tǒng)進(jìn)程間通信(IPC)方式之一。Binder使用Client-Server通信方式:一個進(jìn)程作為Server提供諸如視頻/音頻解碼,視頻捕獲,地址本查詢,網(wǎng)絡(luò)連接等服務(wù);多個進(jìn)程作為Client向Server發(fā)起服務(wù)請求,獲得所需要的服務(wù)。要想實現(xiàn)Client-Server通信據(jù)必須實現(xiàn)以下兩點:一是server 必須有確定的訪問接入點或者說地址來接受Client的請求,并且Client可以通過某種途徑獲知Server的地址;二是制定Command- Reply協(xié)議來傳輸數(shù)據(jù)。例如在網(wǎng)絡(luò)通信中Server的訪問接入點就是Server主機(jī)的IP地址+端口號,傳輸協(xié)議為TCP協(xié)議。對Binder而言,Binder可以看成Server提供的實現(xiàn)某個特定服務(wù)的訪問接入點, Client通過這個‘地址’向Server發(fā)送請求來使用該服務(wù);對Client而言,Binder可以看成是通向Server的管道入口,要想和某個 Server通信首先必須建立這個管道并獲得管道入口。Binder框架定義了四個角色:Server,Client,ServiceManager(以后簡稱SMgr)以及驅(qū)動。其中 Server,Client,SMgr運(yùn)行于用戶空間,驅(qū)動運(yùn)行于內(nèi)核空間。由于Android的Java層級只是一個外殼框架而已,大部分的系統(tǒng)組件(Android本身)都是在Nataive層(又稱C/C++層)執(zhí)行。這是Android的整體架構(gòu),所以我們的應(yīng)用程序也必須考慮分為兩層的必要性,才能完全的融入Android的整體架構(gòu)里。我們看到的Android應(yīng)用架構(gòu)(Application Framework)其實只是Android整體架構(gòu)里的外殼結(jié)構(gòu)而已。Android應(yīng)用框架就如同椅子的椅面,那么椅子的椅腿在哪里呢?Binder系統(tǒng)是在Native層的C/C++組件。Java應(yīng)用程序(如Activity體系等)是透過JNI界面去呼叫Binder系統(tǒng)(或稱為組件)。

  AIDL:在Android中, 每個應(yīng)用程序都可以有自己的進(jìn)程. 在寫UI應(yīng)用的時候, 經(jīng)常要用到Service. 在不同的進(jìn)程中, 怎樣傳遞對象呢? 顯然, Java中不允許跨進(jìn)程內(nèi)存共享. 因此傳遞對象, 只能把對象拆分成操作系統(tǒng)能理解的簡單形式, 以達(dá)到跨界對象訪問的目的`. 在J2EE中,采用RMI的方式, 可以通過序列化傳遞對象. 在Android中, 則采用AIDL的方式. 理論上AIDL可以傳遞Bundle,實際上做起來卻比較麻煩.

  AIDL(AndRoid接口描述語言)是一種借口描述語言; 編譯器可以通過aidl文件生成一段代碼,通過預(yù)先定義的接口達(dá)到兩個進(jìn)程內(nèi)部通信進(jìn)程的目的. 如果需要在一個Activity中, 訪問另一個Service中的某個對象, 需要先將對象轉(zhuǎn)化成AIDL可識別的參數(shù)(可能是多個參數(shù)), 然后使用AIDL來傳遞這些參數(shù), 在消息的接收端, 使用這些參數(shù)組裝成自己需要的對象. AIDL的IPC的機(jī)制和COM或CORBA類似, 是基于接口的,但它是輕量級的。它使用代理類在客戶端和實現(xiàn)層間傳遞值. 如果要使用AIDL, 需要完成2件事情: 1. 引入AIDL的相關(guān)類.; 2. 調(diào)用aidl產(chǎn)生的class.

  8. 你用過哪款A(yù)ndroid手機(jī),有哪些優(yōu)點和不足,相對于iPhone或Symbian又有哪些優(yōu)缺點?

【android面試技巧分享】相關(guān)文章:

面試技巧經(jīng)驗分享12-28

面試應(yīng)答技巧分享01-04

面試小技巧分享12-19

面試技巧匯總分享12-06

關(guān)于面試的技巧分享08-30

面試最佳狀態(tài)技巧分享01-07

銀行面試的技巧分享12-30

英語教師面試技巧分享11-25

2016英語面試技巧分享12-07

關(guān)于英語面試技巧分享12-07