【vc sockettest 源码】【怎样阅读c 源码】【抓娃娃网页源码】basedexclassloader 源码

2024-11-25 02:00:13 来源:Nike源码 分类:休闲

1.DexClassLoader和PathClassLoader的区别

basedexclassloader 源码

DexClassLoader和PathClassLoader的区别

       pathclassloader和dexclassloader的区别如下:

       1.DexClassLoader和PathClassLoader都属于符合双亲委派模型的类加载器(因为它们没有重载loadClass方法)。也就是说,它们在加载一个类之前,回去检查自己以及自己以上的类加载器是否已经加载了这个类。如果已经加载过了,就会直接将之返回,而不会重复加载。

       2.DexClassLoader和PathClassLoader其实都是通过DexFile这个类来实现类加载的。这里需要顺便提一下的是,Dalvik虚拟机识别的是dex文件,而不是class文件。因此,我们供类加载的文件也只能是dex文件,或者包含有dex文件的.apk或.jar文件。

       3.PathClassLoader是通过构造函数new DexFile(path)来产生DexFile对象的;而DexClassLoader则是通过其静态方法loadDex(path,源码vc sockettest 源码 outpath, 0)得到DexFile对象。这两者的区别在于DexClassLoader需要提供一个可写的outpath路径,用来释放.apk包或者.jar包中的dex文件。换个说法来说,就是PathClassLoader不能主动从zip包中释放出dex,因此只支持直接操作dex格式文件,或者已经安装的apk(因为已经安装的apk在cache中存在缓存的dex文件)。而DexClassLoader可以支持.apk、.jar和.dex文件,并且会在指定的outpath路径释放出dex文件。

       4.另外,PathClassLoader在加载类时调用的是DexFile的loadClassBinaryName,而DexClassLoader调用的是loadClass。因此,在使用PathClassLoader时类全名需要用”/”替换”.”

更多资讯请点击:休闲

推荐资讯

ubuntu 源码结构

1.ubuntusource和sourceactivate的区别2.Ubuntu16.04中配置p4编程环境二)3.Ubuntu20.04源码编译CARLA0.9.14全过程记录4.CV实战Ubunt

埔里清醮吃素5天昨夜開葷!鹹酥雞攤大排長龍

南投埔里鎮清醮祭典吃素5天,昨17)晚11點解禁!時間一到,鹹酥雞攤位前大排長龍,業績比平常多出好幾倍,傳統市場也跟著提前開市,肉商、魚販開著車子四處分送豬肉、海鮮等,民眾深夜出門搶肉解饞,熱鬧得像不

北京通州“五一”假期查处价格违法案件27起

中国消费者报讯潘若莼 记者孟刚)4月30日至5月4日,通州区市场监管局共查处价格类违法案件27起,罚没款共计22423元。“五一”期间,通州区市场监管局全员停休,不间断开展执法检查,全力保障副中心节日