android面試題

1、 Android操作系統系統結構爲四層架構,1.application2.application framework(viewcontent providersresourceManagernotification manageractivity manager)3.android runtime libraries dalvik虛擬機針對同時高效的運行多個VMs來實現,dalvik虛擬機執行dex的可執行文件,該格式文件針對最小內存做個優化。該虛擬機是基於寄存器的,所有類都經由Java編譯器然後經由sdkdx工具轉化爲。Dex格式有虛擬機執行。Dalvik依賴於linux的一些功能如線程機制和底層內存管理機制4.linux內核,android核心服務依賴於linux內核2.6,如安全性,內存管理,進程管理,網絡協議棧,驅動模型;同時也作爲硬件和軟件堆棧之間的硬件抽象層

2、 Handler機制的原理 android提供了handlerlooper來滿足線程之間的通信。Handler先進先出原則looper類用來管理特定線程雷對象之間的消息交換(message exchange

(1) looper 一個線程可以產生一個looper對象由他來管理此線程的messagequeue(消息隊列)

(2) handler你可以構造handler對象來與looper溝通,以便push新消息到messagequeue你或者接受loopermessage queue說送來的消息

(3) message queue用來存放線程放入的消息

(4) 線程Uithread 通常就是main thread,而android啓動程序會替他建立一個message queue

3、 操作內存管理有哪幾種 頁式,段式、用到mmu 虛擬空間技術

4、 Activity的生命週期,兩個activity之間跳轉時必然會執行哪幾個方法

Oncreate()(週期開始),onrestoreinstancestate(恢復ui),onrestart()停止狀態重新啓用時調用,onstart()對用戶即將可見時調用,onresume用戶交互時重新繪製屏幕,onsaveInstanceState()即將移出棧頂保留ui狀態調用,onpause() onstop(),ondestroy

5、 如果後臺的activity由於某種原因被系統回收了 如何在被回收之前保存當前狀態。

當你的程序的某一個activity運行時主動或被動運行另一個新的activity b這個時候A會執行onsaveinstancestate(),b完成以後又會回來找a這個時候有兩種情況一是a被回收二是沒有被回收被回收就要重新調用oncreate方法不同於直接啓動的這回oncreate日有參數saveinstancestate;而沒被回收就直接執行onresume跳過oncreate()。

6、 Intent可由以下部分組成:動作(action)、數據(data)、分類(category)、類型(Type)、組件(compent)和擴展消息

7、 Linux中跨進程通信的幾種方式管道有名管道,信號量,消息隊列,信號,共享內存,套接字

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章