你的位置:首页 > 软件开发 > 操作系统 > Android 开源项目源码解析之DynamicLoadApk 源码解析

Android 开源项目源码解析之DynamicLoadApk 源码解析

发布时间:2015-08-11 15:00:04
1. 功能介绍1.1 简介DynamicLoadApk 是一个开源的 Android 插件化框架。插件化的优点包括:(1) 模块解耦,(2) 动态升级,(3) 高效并行开发(编译速度更快) (4) 按需加载,内存占用更低等等。DynamicLoadApk 提供了 3 种开发方式, ...

Android 开源项目源码解析之DynamicLoadApk 源码解析

1. 功能介绍

1.1 简介

DynamicLoadApk 是一个开源的 Android 插件化框架。

插件化的优点包括:(1) 模块解耦,(2) 动态升级,(3) 高效并行开发(编译速度更快) (4) 按需加载,内存占用更低等等。

DynamicLoadApk 提供了 3 种开发方式,让开发者在无需理解其工作原理的情况下快速的集成插件化功能。

  1. 宿主程序与插件完全独立
  2. 宿主程序开放部分接口供插件与之通信
  3. 宿主程序耦合插件的部分业务逻辑

三种开发模式都可以在 demo 中看到。

1.2 核心概念

(1) 宿主:主 App,可以加载插件,也称 Host。上面是 DynamicLoadApk 的总体设计图,DynamicLoadApk 主要分为四大模块:上面是调用插件 Activity 的流程图,其他组件调用流程类似。以上是 DynamicLoadApk 主要类的关系图,跟总体设计中介绍的一样大致分为三部分。loadApk 函数调用 preparePluginEnv 函数加载插件,图中虚线框为 preparePluginEnv 的流程图。

(4) preparePluginEnv(PackageInfo packageInfo, String dexPath)其中第一步设置 intent 的 ClassLoader是用于 unparcel Parcelable 数据的,可见介绍:android.os.BadParcelableException。

(3) protected void launchTargetActivity()

原标题:Android 开源项目源码解析之DynamicLoadApk 源码解析

关键词:Android

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录