温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android中怎么利用DL框架实现动态加载

发布时间:2021-06-29 14:30:02 来源:亿速云 阅读:125 作者:Leah 栏目:移动开发

这期内容当中小编将会给大家带来有关Android中怎么利用DL框架实现动态加载,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

动态加载的原理:

Android程序主要是java代码写出,故android程序是拥有java语言的一些特性的,如反射机制,所以我们可以利用反射机制来实现程序的动态加载,通过外部来调用没有安装的apk代码。Java程序中反射机制主要是通过ClassLoader将想要注入的Class加载到Jvm中,而android的动态加载类似,是通过DexClassLoader将apk文件加载到虚拟机中。

今天主要将介绍一款android的动态加载框架:DL动态加载框架。

该框架是几位同学在github上共同开发的框架。可以在github上下载源码。通过DL框架可以实现android开发插件化,通过实时的热补丁来修复线上的问题。不需要用户特意的去下载新版本,即可完成功能上线。那么关于DL框架的使用,我们应该了解哪些事项呢。

首先我们要了解DL的使用模式有3种模式:

1. depend_on_host:插件完全依赖宿主的模式,适合于能够能到宿主的源代码的情况。

2. depend_on_interface:插件部分依赖宿主的模式,或者说插件依赖宿主提供的接口,适合能够拿到宿主的接口的情况。

3. main:插件不依赖宿主的模式,这是DL推荐的模式。

以上的三种模式可以分别适应开发时不同的情况:

模式1.插件完全依赖宿主的模式,适合于能够能到宿主的源代码的情况。这种模式一般多用在公司内部,插件可以访问宿主的所有代码,但是,这样插件和宿主的耦合比较高,宿主一动,插件就必须动,比较麻烦。

模式2.插件部分依赖宿主的模式,或者说插件依赖宿主提供的接口,适合能够拿到宿主的接口的情况。在这种模式下,宿主放出一些接口并实现一些接口,然后给插件调用,这样插件就可以访问宿主的一些服务等。

模式3.这是DL推荐的模式,对应的工程目录为main。在这种模式下,宿主和插件不需要通信,两者是独立开发的,宿主引用DL的jar包(dl-lib.jar),  插件也需要引用DL的jar包,但是不能放入到插件工程的libs目录下面。

上述就是小编为大家分享的Android中怎么利用DL框架实现动态加载了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI