大坡3D软件开发

因我而不同--用软件来改变世界

Android培训班(73)Dex文件里类定义dvmDefineClass

接着下来,来分析怎么样加载方法的代码,loadMethodFromDex函数的代码如下:staticvoidloadMethodFromDex(ClassObject*clazz, const DexMethod*pDexMethod, Method*meth){这个函数传入

2011-09-25 18:50:27

阅读数:5021

评论数:0

Android培训班(72)Dex文件里类定义dvmDefineClass

/*found a match, try to load it */ clazz =loadClassFromDex(pDvmDex, pClassDef, loader);这行代码是已经发现合适的类,并且找到相应的Dex文件时,就可以调用函数loadClassFro

2011-09-24 20:22:26

阅读数:4718

评论数:0

Android培训班(71)Dex文件里类定义dvmDefineClass

clazz= dvmLookupClass(descriptor, loader, true);if(clazz == NULL) { constDexClassDef*pClassDef;这段代码是调用函数dvmLookupClass在已经加载的类里查找是否已经存在

2011-09-18 11:00:58

阅读数:4403

评论数:0

Android培训班(70)Dex文件里类定义dvmDefineClass

接着来分析函数dvmDefineClass,它的代码如下: ClassObject*dvmDefineClass(DvmDex*pDvmDex, constchar*descriptor, Object*classLoader) { 这个函数输入的参数有三个,第一个pDvm

2011-09-12 15:08:54

阅读数:4999

评论数:0

Android培训班(69)Dex文件里类定义

当在虚拟机里加载Dex文件后,这个文件的数据已经读取到内存里,能不能马上使用呢?能不能使用里面的类呢?显然是不行的,因为那些加载到内存的数据,只是储存的格式,不具备运行的条件,因此需要调用方法defineClass来定义类,才可以运行在虚拟机里。所有Java编译后的类保存在Dex

2011-09-09 22:29:12

阅读数:5890

评论数:0

Android培训班(68)dex文件打开流程

在上面的函数里,提到使用dvmJarFileOpen函数找到classes.dex文件,并加载到内存里,然后提供后面的函数使用。现在就来分析这个函数的代码,如下:intdvmJarFileOpen(const char* fileName, const char* odexOut

2011-09-04 14:21:24

阅读数:11151

评论数:0

Android培训班(67)dex文件打开流程

从上面可知调用函数Dalvik_dalvik_system_DexFile_openDexFile来打开Dex文件,这个函数的源码如下:staticvoid Dalvik_dalvik_system_DexFile_openDexFile(const u4* args, JV

2011-09-03 21:46:51

阅读数:7587

评论数:1

提示
确定要删除当前文章?
取消 删除