1
我知道綁定使用年限只有等到活動或任何組件需要它。 我們必須從onBind函數調用MyLocalBinder類。 這是爲什麼? 爲什麼我們不能直接調用它?爲什麼我們使用另一個繼承binder類的類來訪問BoundServices?
public class MyService extends Service {
private final IBinder myBinder = new MyLocalBinder();
public MyService() {
}
@Override
public IBinder onBind(Intent intent) {
return myBinder;
}
public String getCurrentTime(){
SimpleDateFormat df = new SimpleDateFormat("HH:mm:ss", Locale.UK);
return (df.format(new Date()));
}
public class MyLocalBinder extends Binder{
MyService getService(){
return MyService.this;
}
}
}
但是爲什麼我們使用MyLocalBinder類使用功能?爲什麼我們不能直接訪問服務? –
我們總是可以使服務的對象,在主要活動使用它,但事實證明,一個綁定的服務被稱爲是要叫MyLocalBinder類? –
服務是一個android應用程序組件。你不應該創建Service,Activity,receiver等對象......在你調用bindservice,開始活動之後,Android UI框架將會這樣做。如果您手動創建這些類對象,就像在代碼中引入內存泄漏一樣。此外,該框架將失去對這些組件生命週期的控制。 – 7383