android四大組件之一Service的startService()與bindService()區別?

來源:互聯網
上載者:User

Service的startService()與bindService()區別?

 

答:使用startService()方法啟用服務,調用者與服務之間沒有關連,即使調用者退出了,服務仍然運行。使用bindService()方法啟用服務,調用者與服務綁定在了一起,調用者一旦退出,服務也就終止,大有“不求同時生,必須同時死”的特點。

  •    startService()一般用於本地服務調用。
  •    bindService()一般用於遠程服務調用。

     Android 中的Service使用了onBind 的方法去綁定服務,返回一個Ibinder對象進行操作,而我們要擷取具體的Service方法的內容的時候,我們需要Ibinder對象返回具體的Service對象才能操作,所以說具體的Service對象必須首先實現Binder對象,這個樣子的話我們才能利用bindService的方法對Service進行綁定,擷取Binder對象之後擷取具體的Service對象,然後才擷取Service中的方法等等。所以我們需要注意的是bindService的方式去綁定服務擷取的必定是實現了Binder的對象,所以這是我們必須使用Binder的方式去擷取Service的方式而不是直接使用Service的類,這個是Android內部實現所約束的。

   BindService()中可以擷取Binder對象之後擷取具體的Service對象,調用Service中的方法。

文章參考(http://www.cnblogs.com/androidme/archive/2012/03/13/2393670.html)

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.