
不知道有多少人厌烦这个不老实的“小而简的绿色聊天软件”为了保活而常驻后台。
明明是一个互联网聊天软件,为什么要无时无刻不占用我手机资源?我的手机我做主。
通常情况下,root后,使用后台管理软件配合写轮眼切断唤醒途径,就能解决掉几乎所有软件的自起问题。唯独微信的CoreService这一服务总是能在没有收到任何系统广播的时候自己唤醒,也不知道是怎么实现的。
临时解决的方案:
相信不少人误打误撞试过手机系统设置中【开发者选项】里的【后台进程限制】,选1234都可以避免微信CoreService复活。
但这一选项重启失效,需要每次开机都手动设置一次。
根治的解决方案:
不保证所有手机都适用
0、在电脑上下载并解压adb
https://dl.google.com/android/repository/platform-tools-latest-windows.zip
1、手机【开发者选项】里开启【ADB调试】
2、手机【开发者选项】里手动选择一次【后台进程限制】(1234都行)后改回“标准限制”。
3、USB连接电脑,电脑打开cmd,切换(cd C:\xxx\xxx)到ADB的文件夹,输入命令adb devices,确保ADB可以成功找到手机。(ADB基本使用方法请百度)
4、输入ADB命令:
adb shell settings put global activity_manager_constants max_cached_processes=4
在不同版本的安卓上,此命令可能稍有不同。如果执行不成功,请参考评论区~
(这一限制和同时开了多少个软件无关,通常无需担心多开软件的问题)

限制后台进程为4个
5、输入ADB命令:
adb shell dumpsys activity settings
查看一下当前限制数量是不是变成了4

CUR_MAX_CACHED_PROCESSES即“后台进程限制”功能
此时,开发者选项里的“后台进程限制”仍显示为“标准限制”是正常现象。
解释说明:开发者选项中更改的是mOverrideMaxCachedProcesses=4,
随后会自动覆写到CUR_MAX_CACHED_PROCESSES=4。
而此处直接更改CUR_MAX_CACHED_PROCESSES=4。
6、杀掉微信进程,等一会看看它是不是安分了
(如果还自起,请使用写轮眼MyAndroidTools关闭微信的所有广播接收器,需要root)
可以使用adb命令查看进程列表以检查微信是否复活。非必需。
(adb shell 回车,出现手机名之后 ps -A |grep tencent,出现com.tencent.mm说明已启动)

7、重启手机,使用 第5步 的ADB命令检查CUR_MAX_CACHED_PROCESSES数量是否变化,没变则ok,变了或者多出一行mOverrideMaxCachedProcesses说明你的手机系统被厂商魔改太严重,不适用于此方法。
至此,完成。如果有帮上你,点个赞吧。
日后如果想恢复,
adb shell settings put global activity_manager_constants max_cached_processes=数字
数字填写16,32,48、64、128、192等等都可以,反正本来手机厂商也都随便填的。