微信去除唤醒锁wakelock和tinker启动迅速并省电。
本帖最后由 langjiawen 于 2019-5-18 20:31 编辑微信用Object中的hashcode()函数和wakerlock字符串拼接启动了很多唤醒锁。明明微信有alert机制非得加个恶心唤醒锁。后台会召唤无数wakelock并且这些唤醒禁用了还会随机增加几十个唤醒。直接反编译后把hashcode函数重写返回固定的数字0 让微信只保留一个唤醒
去除微信662恶心的唤醒。dex++路径。classes.dex com/tencent/mars/comm/wakerlock在490行添加
.method public hashCode()I
.registers 12
.prologue
.line 202
const/4 v0, 0x0
新版本找wakelock启动函数在这之前替换掉就行了。
分割线
Tinker是微信热更新每次启动微信会占用大量内存占用。首先反编译 AndroidManifest.xml找到application标签见图三(手机发帖见谅)分析下代码
第一行程序声明
第二行标签为ap主题
第三行标签eee程序名
第四行标签图标
第五行是程序启动代码
第六行常驻属性为否
第七行备份微信调用自家应用宝用的接口。方便微信内在应用宝下载包
第八行开启应用加速
第九行内存限制申请内存使用
重点在第五行为真实应用在dex里定位app.application(图4)
打开application
Tinker是做了个重定向,检测到热更新时启动时重定向到Tinker本体,所以我们只要移除重定向就行了(图五)
回编译重签名。再次启动微信就成功了。实测打开微信速度比以前卡启动屏快了。
其他应用也是同理先分析androidmanifest然后分析dex去除tinker加快启动。 虽然看不懂,但感觉很厉害的样子,也辛苦楼主了。 stxxb 发表于 2018-4-8 22:48
用其他方式禁用了 但启动还是比较慢 试试这个方式
这个用第三方禁用。会随机生成ID进程。而且微信有active会检测内存1GB以上一下的判断。从而后台挤掉别的app 感谢分享啊。。学习了 有成品没有,不会玩这个,不知道你用的是什么反编译软件。 直接上個成品體驗體驗。 一点都看不懂 是啊给个成品吧 有成品不。。看不懂哟。。 给个成品吧{:1_921:}