活動與服務(wù)之間通行:
借助onBind方法谜嫉, 比如我在服務(wù)里寫個下載的功能,想在活動中控制凹联,并指導(dǎo)下載好多沐兰,
然后在MainActivity中,
private ServiceConnection sc = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
}
@Override
public void onServiceDisconnected(ComponentName name) {
}};
如果服務(wù)被開啟和被綁定匕垫,同時僧鲁,都要處理了才能銷毀
前臺服務(wù):
服務(wù)幾乎都是運行在后臺的,當(dāng)系統(tǒng)出現(xiàn)內(nèi)存不足時,就可能回收掉正在后臺運行的服務(wù)寞秃, 你想讓他一直運行下去斟叼,可以考慮前臺進(jìn)程
它會一直有一個正在運行的圖標(biāo)在系統(tǒng)的狀態(tài)欄顯示, 有時不僅僅是為了服務(wù)不被回收春寿,而有的打需求朗涩,
在服務(wù)的oncrete 方法中,寫消息通知的那段代碼绑改, 后面是startForeground(1,notification)
IntentService 如果直接在服務(wù)中去吃力一些耗時操作的邏輯谢床,很容易ANR ,啟動了只有stopservice 和stopself 才會停, 可以在每個子線程結(jié)束的時候 加上stopself 要想他自動停止直接用Intentservice
新建一個類繼承它厘线,