dex2oat导致机器很卡的问题分析

9 篇文章 1 订阅

上周末碰到玩游戏爆卡,周一过来连上adb看个究竟,发现dex2oat进程占用的cpu很高,游戏运行中一直是大于70%

dex2oat应该是在安装app的时候转化java代码到机器码,这样会大幅提高程序效率。对于app来说这个应该只会跑一次,但是在我手机上dex2oat一直是处于运行状态,这个很奇怪。看日志:

08-21 12:21:47.476 I/dex2oat (15925): /system/bin/dex2oat --dex-file=/data/user/0/com.tencent.android.qqdownloader/tinker/patch-7af6000d/dex/classes.dex.jar --oat-file=/data/user/0/com.tencent.android.qqdownloader/tinker/patch-7af6000d/odex/classes.dex.dex
08-21 12:21:47.486 I/dex2oat (15926): /system/bin/dex2oat --dex-file=/data/user/0/com.tencent.android.qqdownloader/tinker/patch-7af6000d/dex/test.dex.jar --oat-file=/data/user/0/com.tencent.android.qqdownloader/tinker/patch-7af6000d/odex/test.dex.dex
08-21 12:21:47.549 I/dex2oat (15927): /system/bin/dex2oat --dex-file=/data/user/0/com.tencent.android.qqdownloader/tinker/patch-7af6000d/dex/classes2.dex.jar --oat-file=/data/user/0/com.tencent.android.qqdownloader/tinker/patch-7af6000d/odex/classes2.dex.dex
有三个进程同时开启了dex2oat,处理的文件是qq下载的三个jar文件。博主当然不可能有腾讯app相关的代码了,只能进行推测:

1.com.tencent.android.qqdownloader存放的是腾讯的某些热更新文件

2.由于Android默认的是只在安装时启用一次dex2oat,那么热更新的文件当然需要自己去主动处理转换成oat文件。

3.腾讯app运行dex2oat的判断条件一直是满足的,所以一直会跑。

博主的机器也比较特殊,一直是公司的开发样机,所以经常刷软件版本,上周五还刷过,就是这次刷机莫名造成了机器爆卡,影响心情大哭

删除游戏问题依然没有解决,删除应用宝问题解决。然后重装应用宝,应用宝重装游戏问题不再。

公司网络没法下游戏,为了节省手机流量(一个游戏三百多Mb),我是从/data/app中adb pull出base.apk,刷机后再adb install安装。和一般用户的流程不一样。可能是这个异常操作导致应用宝出问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值