ui path DexClassLoader和PathClassLoader的区别?
DexClassLoader和PathClassLoader的区别?
PathClassLoader和dexclassloader之间的区别如下:
1。dexclassloader和PathClassLoader都属于符合父委托模型的类加载器(因为它们不会重载loadclass方法)。换句话说,在加载类之前,它们会返回以检查它们和它们上面的类加载程序是否加载了该类。如果已经加载,则直接返回,无需重复加载。
2. dexclassloader和PathClassLoader都通过dexfile实现类加载。顺便说一下,Dalvik虚拟机可以识别DEX文件,而不是类文件。因此,我们用于类加载的文件只能是DEX文件或。APK或。包含DEX文件的Jar文件。
3. PathClassLoader通过构造函数new dexfile(path)生成dexfile对象,而dexclassloader通过其静态方法loaddex(path,outpath,0)获得dexfile对象。两者之间的区别在于,dexclassloader需要提供一个可写的输出路径来释放数据库中的DEX文件。APK包或。罐子包装。也就是说,PathClassLoader不能从zip包中释放DEX,所以它只支持直接操作DEX格式的文件或安装的apk(因为安装的apk在缓存中缓存了DEX文件)。Dexclassloader可以支持。阿普克,。罐子和瓶子。DEX文件,它将释放指定输出路径路径中的DEX文件。
ui path DexClassLoader android classloader
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。