一、andoid系統架構採用分層架構思想,包括應用程序層,應用框架層,系統庫和android運行時,lInux內核android
二、組件介紹web
(1)view:andoid應用中全部用戶界面元素都是使用View和ViewGroup對象構建而成,view對象用於屏幕上繪製可供用戶交互的內容架構
(2)activity是一個應用程序組件,表示用戶界面的單一屏幕,用戶能夠用來交互爲了完成某項任務,activity至關於web應用程序中的頁面,activity提供一個可視化區域,在當前區域中能夠放置各類控件,一個app通常因爲若干個activity組成,通常會有一個主activityapp
(3)Service是一個能夠在後臺執行長時間運行操做而不提供用戶界面的應用組件,例如常見的音樂播放器框架
(4)BroadcastReceiver是一種用於響應系統範圍廣播通知的組件異步
廣播分爲兩類:ide
a、普通廣播:徹底異步,能夠在同一時刻被全部接受者接收到對象
b、有序廣播:接受者按照預先聲明的優先順序一次接受廣播blog
(5)Intent負責組件的啓動,想啓動某個組件,必須向系統傳遞一則消息,Intent就是一個消息傳遞對象,通常有如下用途:事件
a、啓動activity:activity表示應用中的一個屏幕,經過將intent傳遞給startActity(),就能夠啓用新的activity實例
b、啓動服務:經過將 Intent 傳遞給 startService()或bindService(),能夠啓動服務執行一次性操做(例如,下載文件)
c、傳遞廣播:系統將針對系統事件(例如:系統啓動或設備開始充電時)傳遞各類廣播。經過將 Intent 傳遞給 sendBroadcast()、sendOrderedBroadcast() 或 sendStickyBroadcast(),以將廣播傳遞給其餘應用。
(6)content provider:知足app之間的數據共享需求,針對這種APP之間的數據交互,Android提供了Content Provider,他是不一樣應用程序之間進行數據交換的標準API,當一個APP經過Content Provider暴露本身的數據後,其餘APP就能夠經過ContentResolver來操做Content暴露的數據。