首页 > 有谁能说说安卓中微信的两个进程是用过什么原理可以互相启动,从而保持接收消息的状态?

有谁能说说安卓中微信的两个进程是用过什么原理可以互相启动,从而保持接收消息的状态?

如题,最近一个项目需要一个后台进程不间断的等待push信息或者其它信息,用broadcast receiver 做了一部分启动进程的

                <action android:name="android.intent.action.BOOT_COMPLETED"></action>
                <action android:name="android.intent.action.USER_PRESENT"></action>

用了这两个,一个在开机时启动,一个在解锁后启动(目前只知道这两个是在配置文件有效的,而且属于用户常用操作),但是如果用户在玩手机,或者看视频没触发解锁操作就没办法了。
可是看到微信,QQ,微博的双进程却不被影响,想问问他们是通过什么方式来启动进程的?
如果代码很长解释下原理就可以,我有点想不明白


长轮训,或者说被动轮训。
我是这么做的。

有一个Receiver是专门用来启动/通知服务,告诉他改查询/做某些事情了,这个Receiver被注册给AlarmManager中,定时被调用。

如果AlarmManager中得定时或者整个服务被停掉了,这两个比如BOOT_COMPLETED就会在启动的时候再出发Receiver继续启动服务。

【热门文章】
【热门文章】