Service的啟動方式

2022-05-18 10:51:36 字數 831 閱讀 4968

service的啟動方式:

兩種啟動模式,一種是非繫結啟動模式,另一種是繫結啟動模式。

一、startservice方式啟動

1         intent intent = new intent(this, firstservice.class);2

//開啟服務

3 startservice(intent);

二、繫結啟動模式

bindservice

intent intent = new intent(this,firstservice.class

);

//連線到服務firstservice

conn = new

myconn();

bindservice(intent,conn, bind_auto_create);

區別:1.非繫結模式啟動的話,啟動之後就會在記憶體中長期執行,直到手動停止它

2.繫結模式啟動,是跟視覺化介面繫結的,介面看得見的話,服務就存在;按home鍵或者back鍵回到桌面的話服務就掛掉了。

繫結模式多次繫結跟一次繫結有什麼區別:

多次繫結,不會報錯,什麼生命週期方法都不會執行,

解綁只能解綁一次,多次解綁報錯

ps:混合方式啟動服務,可以保證服務長期執行,並能呼叫服務裡的方法,做法如下:

1.先用startservice保證服務在系統裡長期執行;

2.再用onbind方法,獲得中間人物件(ibinder),即可呼叫服務裡的方法

3.用unbind可以解綁

4.用stopservice可以停止服務

Service 兩種啟動方式

service的生命週期service的生命週期方法比activity少一些,只有oncreate,onstart,ondestroy 我們有兩種方式啟動乙個service,他們對service生命週期的影響是不一樣的。1通過startservice service會經歷oncreate onsta...

Service 兩種啟動方式

service的生命週期service的生命週期方法比activity少一些,只有oncreate,onstart,ondestroy 我們有兩種方式啟動乙個service,他們對service生命週期的影響是不一樣的。1通過startservice service會經歷oncreate onsta...

Service使用方式

使用service的場合 1.乙個或多個activity需要向同一應用中的service發出執行某一操作的命令。ps 不需要繫結 2.某個activity需要同一應用中的service為其單獨服務,當此activity消毀時,也將為其服務的service一併消毀。ps 需要繫結 3.多個activi...