您好,登錄后才能下訂單哦!
魔推mpush:當(dāng)消息推送service被殺以后
開(kāi)發(fā)者在開(kāi)發(fā)消息推送模塊時(shí)經(jīng)常會(huì)遇到service被殺死的情況。而這個(gè)時(shí)候,大家采用的方法也很簡(jiǎn)單——重啟service。那么魔推mpush經(jīng)過(guò)多次版本更新,是如何看待并解決這個(gè)問(wèn)題的呢?請(qǐng)看下文。
問(wèn)題是怎么造成的?
不管是何種類型的APP應(yīng)用,無(wú)論是要實(shí)現(xiàn)何種功能,Service被殺掉后,重啟是讓開(kāi)發(fā)者們非常頭疼的問(wèn)題。目前,大家普遍的做法是重寫(xiě)service里面的onDestroy Service mPush,并在里面重啟service。但是很多手機(jī)(如小米、三星等)在殺掉service的時(shí)候,是不會(huì)進(jìn)入onDestroy Service mPush 的,這個(gè)時(shí)候就會(huì)造成你的service永遠(yuǎn)死掉了。這可就叫天天不應(yīng),叫地地不靈了。那mpush是應(yīng)用什么樣的方式解決這個(gè)問(wèn)題的呢?
采用AlarmManager的方式重啟
魔推mpush在開(kāi)發(fā)初期經(jīng)常會(huì)遇到程序啟動(dòng),而service被殺的情況。采用傳統(tǒng)的方法耗時(shí)耗力,最恐怖的是擔(dān)心service永遠(yuǎn)被殺掉。但是采用AlarmManager的方式,在程序正常啟動(dòng)后,可以先聲明一個(gè)AlarmManager,等待5分鐘調(diào)用一次service,如果此時(shí)service被殺了,則就會(huì)重新啟動(dòng)。
采用AlarmManager啟動(dòng)方式,保證了程序的正常運(yùn)行。這樣無(wú)論mpush運(yùn)行在什么樣的移動(dòng)設(shè)備上,只要沒(méi)有把程序強(qiáng)制停止。Mpush最長(zhǎng)就在5分鐘內(nèi)的時(shí)間得以重新啟動(dòng)。
消息推送服務(wù)的穩(wěn)定性
大家知道,衡量一款消息推送服務(wù)平臺(tái)的重要標(biāo)準(zhǔn)就是適應(yīng)性和穩(wěn)定性,目前移動(dòng)設(shè)備豐富多樣化,如何保證服務(wù)的連續(xù)性和穩(wěn)定性是開(kāi)發(fā)者和服務(wù)商需要在程序運(yùn)行是需要考慮的。Mpush在這方面一直在保持不斷的更新,保證消息推送服務(wù)正常運(yùn)行。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。