java classloader 和android中DexClassloader对比:
 Java ClassLoader :    作用:  主要用来加载class 到jvm中,以供程序使用,也就是说:java程序可以动态加载类定义,而这个动态加载机制就是通过ClassLoader来实现的    核心loader:          A:: bootstrap classloader(启动类加载器) --》加载java核心api,包括用户自定义的classloader和另外两个loader         B: ExtClassLoader -》》加载java中的扩展api,也就是 /lib/ext 中的class         C:AppClassloader  --》》加载程序猿自定义的class,也就是我们工程classpath下的类  加载过程:      1:当运行一个java程序时,JVM启动      2:运行bootstrap classloader , 加载java核心api (ExtClassloader 和AppClassloader也在此时被加载)      3:调用ExtClassloader 加载扩展api      4:最后AppClassLoader加载classpath目录下自定义的类

Android  DexClassLoader      作用:           android开发和普通的java开发不同的地方是把class文件再重新打包为dex类型的文件,这种再重新打包会对class文件内部的各种函数表、变量表进行优化。 dex文件是一种经过android打包工具优化后的class文件,因此加载这种特殊的class文件就需要特殊的类加载器,因此android中提供了DexClassLoader     加载流程:       1: 通过PackageManager获取指定apk的安装目录,dex的解压缩目录,c/c++库的目录      2:创建一个DexClassLoader实例      3:加载指定的类返回一个class      4:然后使用反射调用这个class


最后补充一点android知识,为下篇文章准备,那就是android中的资源管理,先看看这篇文章做个了解先:http://blog.csdn.net/luoshengyang/article/details/8738877/

Android中apk动态加载技术研究(1)基础知识研修_第1张图片

更多相关文章

  1. 重温android studio jni编译生成so文件
  2. Android 笔记:读取配置文件config.properties
  3. Android模仿表单上传文件
  4. Android中Http加载如何得到Cookie和 WebView 加载网页如何得到的
  5. [Android]一个支持文本翻译与网页翻译的小程序

随机推荐

  1. android 9.0 在rk3326平台上hidl的使用
  2. Android HttpGet和HttpPost设置超时
  3. Android Localization
  4. 【Android】 ProcessBuild Process su 命
  5. 自定义控件5---TypedArray和AttributeSet
  6. android,NDK, write logs to a file
  7. Android遍历某个文件夹的图片并实现滑动
  8. [android]为程序创建快捷方式
  9. 卡联系人IccProvider
  10. android apk 破解