<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • android面試技巧分享

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

    android面試技巧分享

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

    android面試技巧分享

      FLAG_ACTIVITY_SINGLE_TOP如果目標Activity已經運行在棧頂,將不會再啟動

      = singleTop

      FLAG_ACTIVITY_BROUGHT_TO_FRONT 、=singleTask

      FLAG_ACTIVITY_MULTIPLE_TASK=singleInstance

      FLAG_ACTIVITY_CLEAR_TOP、如果被啟動的activity已經運行在當前 task,將不會再創建新的活動實例,位于其上的其它activity將會被關閉。

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

      3. 通過Intent傳遞一些二進制數據的方法有哪些?

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

      2). 實現Parcelable接口,這里Android的部分類比如Bitmap類就已經實現了,同

      時Parcelable在Android AIDL中交換數據也很常見的。

      4. 能說下Android應用的入口點嗎?

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

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

      這里SAX和DOM、XmlPull相信做過Web開發的都已經滾瓜爛熟了。

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

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

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

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

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

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

      8. 你用過哪款Android手機,有哪些優點和不足,相對于iPhone或Symbian又有哪些優缺點?

    【android面試技巧分享】相關文章:

    面試技巧經驗分享12-28

    面試應答技巧分享01-04

    面試小技巧分享12-19

    面試技巧匯總分享12-06

    關于面試的技巧分享08-30

    面試最佳狀態技巧分享01-07

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

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

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

    關于英語面試技巧分享12-07

    主站蜘蛛池模板: 久久97久久97精品免视看| 久久精品国产精品亚洲| 国产网红主播无码精品| 蜜臀久久99精品久久久久久小说| 国产欧美精品一区二区色综合 | 久久精品夜色噜噜亚洲A∨ | 成人精品视频在线观看| 真实国产乱子伦精品视频| 精品久久人人爽天天玩人人妻| 国内精品免费视频精选在线观看| 亚洲2022国产成人精品无码区| 久久国产精品免费一区| 91热成人精品国产免费| 精品九九久久国内精品| 99久久精品午夜一区二区| 精品无码久久久久国产| 亚洲色精品aⅴ一区区三区| 色偷偷88欧美精品久久久| 九九久久精品无码专区| 国产亚洲精品看片在线观看| 国产精品日日摸夜夜添夜夜添1国产精品va欧美精 | 在线观看亚洲精品福利片 | 久久精品亚洲欧美日韩久久| 九九精品在线视频| 久久久久人妻一区精品| 欧美人与性动交α欧美精品成人色XXXX视频| 国产偷窥熟女高潮精品视频| 国产午夜亚洲精品国产成人小说| 国产精品视频不卡| 国产午夜精品一区二区三区小说 | 日韩精品少妇无码受不了| 亚洲AV无码成人精品区在线观看 | 99久久精品国产高清一区二区 | 国产精品美女网站在线观看| 国产日韩高清三级精品人成| 精品久久久久中文字| 精品久久人人做人人爽综合| 热RE99久久精品国产66热| 亚洲精品国产日韩无码AV永久免费网 | 久久99精品久久久久子伦| 久久精品人人做人人妻人人玩|