Android 應用程式架構

Activity:
  • 顯示的畫面 (幾乎占據整個畫面)
  • 展示資訊、使用者輸入 (UI上的元件: 按鈕、文字、圖像,包含所有View 實例)
  • 占用非常多記憶體
  • 多個Activity實例形成堆疊,pop & push 切換瀏覽
  • 最上層的Activity擁有系統優先權 (system priority, process rank)

Service:
  • 背景執行,沒有直接與使用者互動
  • 啟動 (start) 、繫結 (bound)

//Start & Stop
Context.startService(Intent)
Context.stopService(Intent)

//Bind & unBind
Context.bindService(Intent, ServiceConnection, int)
Context.unbindService(ServiceConnection)



ContentProvider:

  • 不同應用程式之間共用大量資料
  • 常搭配SQLite
BroadcastReceiver:
  • 非常受限的功能: 偵聽內部、遠端、平台所傳來的Intent,過濾Intent
  • 偵聽時,BroadcastReceiver被動態註冊,結束後取消註冊
  • 如果靜態註冊在AndroidManifest,程式被安裝時就會偵測

留言