400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

Android类加载模式-创新互联

类图

 Android 类加载模式

创新互联专注于企业全网整合营销推广、网站重做改版、滁州网站定制设计、自适应品牌网站建设、H5页面制作成都做商城网站、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为滁州等各大城市提供网站开发制作服务。

相关类介绍

BootClassLoader

调用流程
1、ZygoteInit的main方法
2、预加载常用类
3、读取预加载类名时获取BootClassLoader单例
4、调用classForName(C实现)获取结果

DexClassLoader

构造函数
public DexClassLoader (String dexPath, String dexOutputDir, String libPath, ClassLoader parent)
optimizedDirectory是用来缓存我们需要加载的dex文件的,并创建一个DexFile对象,如果它为null,那么会直接使用dex文件原有的路径来创建DexFile  
DexClassLoader可以指定自己的optimizedDirectory,所以它可以加载外部的dex,因为这个dex会被复制到内部路径的optimizedDirectory
注意:该加载器能够加载未安装的jar/apk/dex

PathClassLoader

构造函数
public PathClassLoader (String path, String libPath, ClassLoader parent)
调用流程
1、Zygote进程启动SyetemServer进程
2、ZygoteInit的startSystemServer方法
3、Zygote进程通过forkSystemServer方法fork自身创建子进程并且调用handleSystemServerProcess
4、 工厂方法创建PathClassLoader
注意:该加载器只能加载系统中已经安装过的apk

SecureClassLoader和URLClassLoader

SecureClassLoader类和JDK8中的SecureClassLoader类的代码是一样的,它继承了抽象类ClassLoader。SecureClassLoader并不是ClassLoader的实现类,而是拓展了ClassLoader类加入了权限方面的功能,加强了ClassLoader的安全性。
URLClassLoader类和JDK8中的URLClassLoader类的代码是一样的,它继承自SecureClassLoader,用来通过URl路径从jar文件和文件夹中加载类和资源。

InMemoryDexClassLoader

InMemoryDexClassLoader是Android8.0新增的类加载器,继承自BaseDexClassLoader,用于加载内存中的dex文件。

具体加载源码

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前标题:Android类加载模式-创新互联
文章来源:http://www.bluegullmedia.com/article/doeogs.html

其他资讯

让你的专属顾问为你服务

0.0332s