当前位置:首页 > 虚拟机 > 正文

虚拟机xposed框架


一、xposed框架是什么,有什么作用

Xposed框架(XposedFramework)是一套开源的、在Android高权限模式下运行的框架服务,可以在不修改APK文件的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。

PerAPPSetting(为每个应用设置单独的dpi或修改权限)、XPrivacy(防止隐私泄露)、对原生Launcher替换图标等应用或功能均基于此框架。

扩展资料

在Android系统中,应用程序进程以及系统服务进程SystemServer都是由Zygote进程孵化出来的,而Zygote进程是由Init进程启动的,Zygote进程在启动时会创建一个Dalvik虚拟机实例,

每当它孵化一个新的应用程序进程时,都会将这个Dalvik虚拟机实例复制到新的应用程序进程里面去,从而使得每一个应用程序进程都有一个独立的Dalvik虚拟机实例,这也是Xposed选择替换app_process的原因。

参考资料来源:-Xposed框架


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

xposed会不会影响性能这个问题的答案是显而易见的:会。而且这个问题还需要分两种情况讨论。Android5.0+和Android4.4-。我们先从Android4.4及其以下版本的xposed框架说起。xposed归根究底就是一个提供对Android运行虚拟机hook的一个工具。可以使得用户无需修改软件本身而做到对软件进行修改(通过在运行段纤简时进行修改)。其本身提供了一套抽象的API来帮助开发者开发xposed上面的插件。在运行时,通过在类加载过程中对类进行重写的方法实现修改。就这一点上来说,无疑是存在性能上的损耗的。但也如这个问题下其他答主所说,由于xposed的一些插件的本身的目的就是优化其他更占资源的应用再加上xposed插件开发者本身开发经验较为丰富,也比较良心,所以对性能的影响是有限的,相反,其优化性能的功能带来的效果通常是显竖老著的。我比较想单独谈论一下Android5.0+的xposed框架,这是目前其他答主还没有提到的地方。显然的Android5.0+带来的问题有很多,比如更加严格的SELinux的限制以及对64位的支持等等对于xposed框架的实现难度提了更高的要求。当然最麻烦的东西还是ART虚拟机。所以在Android5.0+上的xposed框架有着很大的实现上的区别。首先,xposed框架会将系统的ART虚拟机的库文件(以及相关的文件)完全替换掉。但这一点,便没有Dalvik上实现得那么「干净」,并且这个替换掉的库会禁用掉了一些ART的代码优化的特性。这也会使得整个hook过程变得更可靠,更稳定握裤。