Android 的 HAL 技術, #3: 小探Android Service與Native Service
前二篇教學提到「採用Service架構整合HAL的做法」。這裡再針對HAL如何採用Service架構與框架整合做一個概念的介紹。
Android的Service分為二種:Android Service與Native Service。
Android Service
Android Service又稱為Java Service,是實作在框架層(framework)裡的「Server」。這裡所講的「Service」是System Service,又稱為Server,與應用程式設計上所討論的Service(android.app.Service)不同。Android Service以Java撰寫。
Native Service
Native Service則是實作在Runtime層裡的Server。架構設計上,我們有二個選擇,一個是實作Android Service、再透過JNI與HAL stub溝通;另一個選擇是,跳過Android Service,讓Application(Manager API)直接與Native Service溝通。
未來的Android發展趨勢,應會以第二種做法為主,即Manager API直接與Native Service溝通,以達到更好的效能表現。
延伸閱讀
* 2009.10.14: Android 的 HAL 技術, #2: 採用Service架構方式
* 2009.10.08: Android 的 HAL 技術, #1: 簡介與發展現況