Activity 與 Service 生命週期及AIDL

更新於 2024/11/02閱讀時間約 2 分鐘

Activity生命週期

  1. onCreate: 第一次開啟時會進入的流程,只會執行一次
  2. onStart: 將Activity的頁面可視化,並將UI物件初始化使其可和使用者互動
  3. onResume:使用者進行互動時在這個階段,直到使用者切換頁面之後,切換成onPause。
  4. onPause : 有其他應用程式跑到前面時的狀況,可以特別設置用戶音樂暫停等等。
  5. onStop:目前APP已經看不到的狀態,若資源充足進到onRestart,若不足清除資源下次打開則到oncreate。
  6. onDestroy: 使用者終止APP或者系統資源極度缺乏情況下。

raw-image

Service的生命週期

使用Service的幾種方法:

  1. startSercice() :啟動服務,單純使用startService的Service無法與其他組件通信。
  2. stopService():暫停服務
  3. bindService():綁定服務,經由bindService呼叫的service可進行通信。
  4. unbindService():解除綁定服務

生命週期:

  1. onCreate(): 首次創建服務時,調用此方法
  2. onStartCommand():另一個組件通過調用啟動此服務時,調用此方法
  3. onDestroy(): 當服務不在使用且要被銷毀時調用此方法
  4. onBind(): 當另一組件使用bindService與此服務綁定時,調用此方法
  5. onUnbind(): 當另一個組件調用unbindService()時調用此方法。
  6. onRebind(): 舊的組件解綁,且有新的組件綁定則調用此方法。

raw-image

根據地點區分成本地服務(主線程)與遠程服務(獨立進程),也區分背景服務(時間運行、天氣更新)或是前景服務(音樂播放)。

遠程Service與其他組件進行通訊則需要IPC的機制,使用到AIDL的方式:

服務器端(Service)

步驟1 : 建立一個AIDL文件,並提供給Client接口

步驟2: 在Service子類中實現AIDL文件有說的接口

步驟3: 在AndroidMainfest.xml 中註冊服務與聲明服務

客戶端(Client)

  1. 複製AIDL文件到自己目錄下
  2. 使用Stub.asInterface街口獲取Service的Binder,調用Service提供的接口
  3. 通過intent指定Service的所在包,綁定遠程Service

參考資料AIDL文件:https://www.jianshu.com/p/34326751b2c6

    avatar-img
    1會員
    37內容數
    留言0
    查看全部
    avatar-img
    發表第一個留言支持創作者!
    dab戴伯的沙龍 的其他內容
    Android 主要從上層(接近使用者)到最底層(接近硬體)順序為: Application -> Framework -> Hal -> Linux Kernel。 Application層:應用程序是在這進行發展,也是使用者直接接觸到的部分。 Framework層:這裡會透過AIDL與Se
    DHCP 獲取IP位址。 在建立完兩者的連接後,STA會優先發起DISCOVER的廣播,要求網域提供IP地址的分配,網內的DHCP服務器收到後,會選擇一個IP地址發送給客戶端(OFFER),收到OFFER的STA會再發送一個Request確認是否為該IP位址,若沒錯,DHCP會回傳ACK表示確認
    WIFI連接過程主要分成三步驟: 掃描 (Probe Request, Probe Response) 認證 (Authentication) 連接 (Association Request, Association Response) Eapol(WEP, WPA, WPA2) DHCP
    Android Wifi掃瞄的部分區分成被動掃描與主動掃描: 主動掃瞄:每隔一段時間廣播發送probe request的請求,在各個頻段上詢問AP的訊息,若有收到回應,做紀錄,超時的話則換到下個頻段進行廣播。 被動掃瞄:不發送請求,因為是以省電為目的,因此是單純接收AP傳送的beacon,通過接
    主要在工作上剛好接觸到SQLite的資料庫,因此想藉由這個機會將這個技術了解一下~ Android 內可使用SQLite資料庫,有著輕量級的特性,因此適合用於行動設備上。Android SQLite 主要提供SQLiteOpenHelper與SQLiteDatabase兩個類別使用。 而這次主要
    目的: 利用第三方API抓取網路資料下載並呈現在APP上。 學習運用搜尋欄,並搜尋自己想找的電影。 自製表格,並讓資訊呈現在APP上。 這次運用了search bar 和 自製表格以及分析JSON檔的部分: 首先,要使用search bar要增加protocol : UISearchRes
    Android 主要從上層(接近使用者)到最底層(接近硬體)順序為: Application -> Framework -> Hal -> Linux Kernel。 Application層:應用程序是在這進行發展,也是使用者直接接觸到的部分。 Framework層:這裡會透過AIDL與Se
    DHCP 獲取IP位址。 在建立完兩者的連接後,STA會優先發起DISCOVER的廣播,要求網域提供IP地址的分配,網內的DHCP服務器收到後,會選擇一個IP地址發送給客戶端(OFFER),收到OFFER的STA會再發送一個Request確認是否為該IP位址,若沒錯,DHCP會回傳ACK表示確認
    WIFI連接過程主要分成三步驟: 掃描 (Probe Request, Probe Response) 認證 (Authentication) 連接 (Association Request, Association Response) Eapol(WEP, WPA, WPA2) DHCP
    Android Wifi掃瞄的部分區分成被動掃描與主動掃描: 主動掃瞄:每隔一段時間廣播發送probe request的請求,在各個頻段上詢問AP的訊息,若有收到回應,做紀錄,超時的話則換到下個頻段進行廣播。 被動掃瞄:不發送請求,因為是以省電為目的,因此是單純接收AP傳送的beacon,通過接
    主要在工作上剛好接觸到SQLite的資料庫,因此想藉由這個機會將這個技術了解一下~ Android 內可使用SQLite資料庫,有著輕量級的特性,因此適合用於行動設備上。Android SQLite 主要提供SQLiteOpenHelper與SQLiteDatabase兩個類別使用。 而這次主要
    目的: 利用第三方API抓取網路資料下載並呈現在APP上。 學習運用搜尋欄,並搜尋自己想找的電影。 自製表格,並讓資訊呈現在APP上。 這次運用了search bar 和 自製表格以及分析JSON檔的部分: 首先,要使用search bar要增加protocol : UISearchRes
    你可能也想看
    Google News 追蹤
    Thumbnail
    本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
    Thumbnail
    我們邀請您保留一段屬於自己的時間,讓頌缽「缽音」與精油「香氣」,開啟生活的自癒力。 結合兩種自然的力量,相得益彰,可以幫助您達到深層放鬆,於壓力與疲勞中解放。
    Thumbnail
    忙碌生活之餘,也想拓展生活圈?週末來場舒壓交友活動?想打造專屬香氣,增加個人魅力? 本次活動由芳療師與療癒師攜手合作,透過牌卡與靈魂書寫帶領大家深入了解自我;運用天然精油香氣,打造專屬個人印象。
    Thumbnail
    這次市集主要提供「精油頭療」和「調香」服務。 意外發現很多人喜歡調香的部分 :「可以給我來點大地的氣味嗎?」 :「我喜歡這些花香合在一起的味道。」 :「我想要有薄荷和檸檬香氣,涼涼甜甜的,有『新生』的感覺。」 雖然是大熱天,來做精油頭療的朋友都說整個頭皮都清涼起來,而且晚上一定會很
    Thumbnail
    於2023年溫馨的12月,和Real Place老闆及兩位夥伴一起策劃了「精油香水聯誼」。 我們想讓大家透過遊戲的方式認識精油,可以提升對味道的敏銳度、了解精油帶給身心靈的幫助,還能藉此認識新朋友。
    本課程將學習如何在 Activity 中註冊監聽 Fragment 點擊事件。
    本課程學習如何將 Activity 傳遞參數給 Fragment。
    本課程目標是讓你深入瞭解 Android Activity 的生命週期。
    Thumbnail
    本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
    Thumbnail
    我們邀請您保留一段屬於自己的時間,讓頌缽「缽音」與精油「香氣」,開啟生活的自癒力。 結合兩種自然的力量,相得益彰,可以幫助您達到深層放鬆,於壓力與疲勞中解放。
    Thumbnail
    忙碌生活之餘,也想拓展生活圈?週末來場舒壓交友活動?想打造專屬香氣,增加個人魅力? 本次活動由芳療師與療癒師攜手合作,透過牌卡與靈魂書寫帶領大家深入了解自我;運用天然精油香氣,打造專屬個人印象。
    Thumbnail
    這次市集主要提供「精油頭療」和「調香」服務。 意外發現很多人喜歡調香的部分 :「可以給我來點大地的氣味嗎?」 :「我喜歡這些花香合在一起的味道。」 :「我想要有薄荷和檸檬香氣,涼涼甜甜的,有『新生』的感覺。」 雖然是大熱天,來做精油頭療的朋友都說整個頭皮都清涼起來,而且晚上一定會很
    Thumbnail
    於2023年溫馨的12月,和Real Place老闆及兩位夥伴一起策劃了「精油香水聯誼」。 我們想讓大家透過遊戲的方式認識精油,可以提升對味道的敏銳度、了解精油帶給身心靈的幫助,還能藉此認識新朋友。
    本課程將學習如何在 Activity 中註冊監聽 Fragment 點擊事件。
    本課程學習如何將 Activity 傳遞參數給 Fragment。
    本課程目標是讓你深入瞭解 Android Activity 的生命週期。