Androidso库的热更新问题-创新互联

本来想写资源的热修复的,虽然方案差不多已经完成了,但是考虑到一些敏感问题,资源修复就不写了。那就来写写so的热修复,其原理和class的修复是一样的,但是so的热修复的需求并不高,就当做学习吧。

成都创新互联公司是一家专业提供康县企业网站建设,专注与网站制作、做网站、html5、小程序制作等业务。10年已为康县众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。

首先来总结一下Android的ClassLoader方式的热更新,这种方式类的查找过程是通过BaseDexClassLoader来完成的,最终会通过成员变量DexPathList对象中的findClass方法来查找类,代码如下:

public Class findClass(String name, List suppressed) {
  for (Element element : dexElements) {
    DexFile dex = element.dexFile;
    if (dex != null) {
      Class clazz = dex.loadClassBinaryName(name, definingContext, suppressed);
      if (clazz != null) {
        return clazz;
      }
    }
  }
  if (dexElementsSuppressedExceptions != null) {
    suppressed.addAll(Arrays.asList(dexElementsSuppressedExceptions));
  }
  return null;
}

新闻名称:Androidso库的热更新问题-创新互联
当前地址:http://csruizhi.cn/article/cceejj.html

其他资讯

Copyright © 2007-2024 成都优众联杰科技有限公司 All Rights Reserved 蜀ICP备2024116266号
友情链接: 成都定制网站建设 响应式网站建设 重庆手机网站建设 成都网站制作 成都网站建设推广 重庆网站建设 温江网站设计 成都网站设计 网站设计公司 网站制作公司 网站设计 成都网站建设 成都网站建设 企业网站制作 成都网站制作 成都网站制作 成都网站设计公司 营销型网站建设 成都网站制作 成都网站制作 高端网站设计 成都网站制作