微信开启GCM

  • Android
  • 作为一个不得不用的IM工具,微信耗电一直是一大问题,想省电就要关后台,但是关后台又收不到消息,没关系,起码微信支持GCM,还是有办法的。

    apps-with-gcm-metal

    Apps with GCM | Cinema 4D

    作为一个不得不用的IM工具,微信耗电一直是一大问题,想省电就要关后台,但是关后台又收不到消息,没关系,起码微信支持GCM,还是有办法的。


    微信改用GCM

    微信虽然支持GCM,但是是备用方案,默认是常驻后台用自己的长连接收消息的,只有后台被关时才会通过GCM唤醒。要让微信不留在后台而通过GCM收消息,就要用到著名的绿色守护(需要捐赠和Xposed框架)。
    greenify绿色守护(Google Play)默认在熄屏后几分钟内自动关闭App,不同于其它优化软件的是还能同时保留App的GCM唤醒效果。使用方法也比较简单,先设置一下,然后把微信添加到绿色化列表就ok了。

    wechat-gcm-1
    Boost模式、自动休眠打勾,进Xposed-based功能

    wechat-gcm-2
    为绿色化的App开启GCM推送和不移除提醒打勾

    wechat-gcm-3
    设置完右上角点+号把微信(随便选哪个)添加到绿色化列表

    验证方法是把微信的后台关了(比如绿色化)再让人给你发微信消息,收到就说明成功了。


    修改GCM心跳

    由于中国移动的数据网络设定的长连接超时时间很短(5分钟),而GCM的数据网络心跳间隔默认是28分钟,于是在移动的数据网络下GCM有不正常延迟。既然不能让移动和国际接轨(30分钟),就只有修改GCM的心跳频率了。
    pnfPush Notifications Fixer (Google Play   XDA) 这个App不仅能修改GCM的心跳频率,还能查看GCM连接情况(尤其是三星的ROM不能通过*#*#426#*#*来看GCM状态),非常好用。

    wechat-gcm-5
    设置完心跳间隔,点Apply setting重启后生效;Play services monitor查看GCM连接状态

    wechat-gcm-6
    GCM连接状态

    PNF推荐的数据网络设置是6分钟,如果用移动网络的话理想的心跳间隔应该小于5分钟,不过缩短间隔也意味着更多唤醒次数,也就更耗电。设置4分钟或5分钟的间隔可以几乎实时获得推送,设置6分钟的间隔则可能有最长1分钟左右的延迟,以此类推,比如我设置的13分钟,就会有38%的概率实时收到推送,62%的概率有0~8分钟的延迟。
    准确的说,上述都是关闭微信后台后的延迟概率,因为打开微信时会激活微信的后台,直到后台被关闭的这段时间微信用的是自己的长连接,不用担心聊天聊着聊着就延迟了。


    拯救微信界面

    微信的UI设计放在安卓上是不是很丑呢,幸好有Xposed模块WeChange,可以让微信的UI更符合Material Design。虽然已经停更了最高只支持到6.3.5版的微信,那用旧版的微信不就行了,Drawer的UI真是清爽多了。

    wechat-gcm-7
    WeChange的Drawer模式,所有功能都在抽屉里;不喜欢Drawer也有另外两种UI可选,完美。

    还有个叫WechatUI的Xposed模块,一直在更新也支持高版本微信,但设置Drawer后微信一直闪退。也许我是个案,你可以试试。


    muyunfengliu

    人間じんかん五十ごじゅうねん下天げてんうちをくらぶれば、ゆめまぼろしごとくなり。一度ひとたびしょうけ、めっせぬもののあるべきか。」

    You may also like...

    Leave a Reply

    Your email address will not be published. Required fields are marked *