您的位置首页百科知识

xposed框架会不会让手机变卡?

xposed框架会不会让手机变卡?

的有关信息介绍如下:

xposed框架会不会让手机变卡?

谢

邀请。

xposed 会不会影响性能这个问题的答案是显而易见的:会。

而且这个问题还需要分两种情况讨论。Android 5.0+ 和 Android 4.4-

我们先从 Android 4.4 及其以下版本的 xposed 框架说起。xposed 归根究底就是一个提供对 Android 运行虚拟机 hook 的一个工具。可以使得用户无需修改软件本身而做到对软件进行修改(通过在运行时进行修改)。其本身提供了一套抽象的 API 来帮助开发者开发 xposed 上面的插件。在运行时,通过在类加载过程中对类进行重写的方法实现修改。

就这一点上来说,无疑是存在性能上的损耗的。但也如这个问题下其他答主所说,由于 xposed 的一些插件的本身的目的就是优化其他更占资源的应用再加上 xposed 插件开发者本身开发经验较为丰富,也比较良心,所以对性能的影响是有限的,相反,其优化性能的功能带来的效果通常是显著的。

我比较想单独谈论一下 Android 5.0+ 的 xposed 框架,这是目前其他答主还没有提到的地方。显然的 Android 5.0+ 带来的问题有很多,比如更加严格的 SELinux 的限制以及对 64 位的支持等等对于 xposed 框架的实现难度提了更高的要求。当然最麻烦的东西还是 ART 虚拟机。

由于 ART 虚拟机不同于 Dalvik 只通过 JIT 来实现性能优化,它还选择了在安装期间通过 AOT 的方式将一部分 dex 转换成更加原生的代码。这使得 hook 的难度大为提高。显然 AOT 之后的代码就没有那么容易再进行运行时的类级别的 hook ,尤其是经过优化过后。

所以在 Android 5.0+ 上的 xposed 框架有着很大的实现上的区别。首先,xposed 框架会将系统的 ART 虚拟机的库文件(libart.so 以及相关的文件)完全替换掉。但这一点,便没有 Dalvik 上实现得那么「干净」,并且这个替换掉的库会禁用掉了一些 ART 的代码优化的特性。这也会使得整个 hook 过程变得更可靠,更稳定。

所以这样处理过后,这个 ART 虚拟机一定会跑得比原始的版本慢,而这也是作者所承认的。所以在 Android 5.0+ 上 xposed 对性能的影响其实是略大于 Android 4.4- 上带来的。但是出于一个粗略的认识,即使禁用了一些特性的 ART 虚拟机跑得速度总体也是比 Dalvik 虚拟机要快的。

所以 xposed 框架会不会让你手机变卡,其实还是取决于你使用 xposed 框架本身对性能的消耗,和你的 xposed 插件对你手机性能的提升两者之间谁更明显。

如果你装了各家的全家桶的话,显然,提升会比较明显。