自打微信升级至5.x后,手机带机时间巨降。原先中度使用,勉强4G待机一天。现在完全没戏,改3G待机都撑不住。换一般app,早卸载了。
在经历一次又一次电池被微信无情耗干的情况下,我终于决定自己动手了。
一个app耗电无非分两种
1. CPU长期被占用,唤醒
2. 3G/4G数据连接一直被占用。
微信是两个都不放过。
一般来说,如果微信在前台运行,耗电也就忍了。不能忍受的是微信后台还巨耗电。
解决方案,
1. 把微信所有提醒功能,没用的插件关闭,自己手动刷。毕竟需要即时联系我的人,不会用微信。
2. 安装 2 Battery 或者 JuiceDefender, 这两个app能阻止其他app后台一直连接数据。
这两项操作完毕,前面提到的第二项耗电基本可以解决,待机应该有不小提高。
如果想进一步降低微信后台CPU占用,唤醒,就比较费事。
Android 系统支持完全的多任务,后台app可以用wakelock来推迟CPU进入深度睡眠,来完成一些任务。如果app设计得当,完全没问题。但是一些垃圾app, 有事没事发wakelock。你想象一下,半夜每几分钟被人推醒一次的感受。
微信因为某些原因,采取了令人发指的后台自启动,唤醒CPU设计。即使把所有更新都关掉也一样。不管你有没有root,安装 BetterBatteryStatus 或者 Wakelock Detector,你就可以看到微信WeChat的唤醒次数。
既然问题根源在这里,那只有杀进程了。实在是被逼无奈。一般情况,Android系统并不需要杀进程,流氓软件除外。一般遇到流氓软件,最好的办法也不是杀进程而是卸载。微信,好好一个app,非得学流氓软件,就不能学学Whatsapp。
于是我用Advanced Task Manager 每10分钟杀一次WeChat进程。实际上每次杀WeChat,它会自启动,所以必须反复杀。但间隔太短也不行,毕竟杀进程本身就要占用CPU。
各位还有别的招么?
行文至此,我也已经无奈了,同时更新微信至5.3看看有没有变化。
Update: 貌似5.3改变了不小,有待继续观察