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...