魔推mpush:当消息推送service被杀以后

来源:互联网 发布:unity3d 导出ios工程 编辑:程序博客网 时间:2024/05/01 00:17

开发者在开发消息推送模块时经常会遇到service被杀死的情况。而这个时候,大家采用的方法也很简单——重启service。那么魔推mpush经过多次版本更新,是如何看待并解决这个问题的呢?请看下文。

 

问题是怎么造成的?

 

不管是何种类型的APP应用,无论是要实现何种功能,Service被杀掉后,重启是让开发者们非常头疼的问题。目前,大家普遍的做法是重写service里面的onDestroy Service mPush,并在里面重启service。但是很多手机(如小米、三星等)在杀掉service的时候,是不会进入onDestroy Service mPush 的,这个时候就会造成你的service永远死掉了。这可就叫天天不应,叫地地不灵了。那mpush是应用什么样的方式解决这个问题的呢?

 

采用AlarmManager的方式重启

 

魔推mpush在开发初期经常会遇到程序启动,而service被杀的情况。采用传统的方法耗时耗力,最恐怖的是担心service永远被杀掉。但是采用AlarmManager的方式,在程序正常启动后,可以先声明一个AlarmManager,等待5分钟调用一次service,如果此时service被杀了,则就会重新启动。

 

采用AlarmManager启动方式,保证了程序的正常运行。这样无论mpush运行在什么样的移动设备上,只要没有把程序强制停止。Mpush最长就在5分钟内的时间得以重新启动。

 

消息推送服务的稳定性

 

大家知道,衡量一款消息推送服务平台的重要标准就是适应性和稳定性,目前移动设备丰富多样化,如何保证服务的连续性和稳定性是开发者和服务商需要在程序运行是需要考虑的。Mpush在这方面一直在保持不断的更新,保证消息推送服务正常运行。

 

 

 

 

0 0