1、 Android操作系統系統結構爲四層架構,1.application、2.application framework(view、content providers、resourceManager、notification manager、activity manager)、3.android runtime libraries dalvik虛擬機針對同時高效的運行多個VMs來實現,dalvik虛擬機執行dex的可執行文件,該格式文件針對最小內存做個優化。該虛擬機是基於寄存器的,所有類都經由Java編譯器然後經由sdk的dx工具轉化爲。Dex格式有虛擬機執行。Dalvik依賴於linux的一些功能如線程機制和底層內存管理機制4.linux內核,android核心服務依賴於linux內核2.6,如安全性,內存管理,進程管理,網絡協議棧,驅動模型;同時也作爲硬件和軟件堆棧之間的硬件抽象層
2、 Handler機制的原理 android提供了handler和looper來滿足線程之間的通信。Handler先進先出原則looper類用來管理特定線程雷對象之間的消息交換(message exchange)
(1) looper 一個線程可以產生一個looper對象由他來管理此線程的messagequeue(消息隊列)
(2) handler你可以構造handler對象來與looper溝通,以便push新消息到messagequeue你或者接受looper從message 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中跨進程通信的幾種方式管道有名管道,信號量,消息隊列,信號,共享內存,套接字