| 摘要 | 第5-6页 |
| Abstract | 第6-7页 |
| 1 绪论 | 第11-17页 |
| 1.1 来源和背景 | 第11-13页 |
| 1.1.1 移动设备的广泛使用 | 第11页 |
| 1.1.2 移动应用的急剧增加 | 第11-12页 |
| 1.1.3 模块化开发优势显著 | 第12-13页 |
| 1.2 模块化开发研究现状 | 第13-15页 |
| 1.3 课题研究的意义 | 第15-16页 |
| 1.4 论文结构 | 第16-17页 |
| 2 模块动态加载方法研究 | 第17-27页 |
| 2.1 Windows 动态链接库 | 第17-19页 |
| 2.1.1 动态链接库原理分析 | 第17-18页 |
| 2.1.2 动态链接库实现方法 | 第18页 |
| 2.1.3 DLL 与 Android | 第18-19页 |
| 2.2 嵌入式 Linux 动态加载方法 | 第19-22页 |
| 2.2.1 嵌入式 Linux 简介 | 第19-20页 |
| 2.2.2 嵌入式 Linux 的动态加载技术 | 第20-22页 |
| 2.2.3 嵌入式 Linux 与 Android | 第22页 |
| 2.3 Java 动态加载机制 | 第22-25页 |
| 2.3.1 Java 动态类加载机制原理 | 第23-24页 |
| 2.3.2 Java 模块动态加载技术 | 第24-25页 |
| 2.3.3 Java 动态类加载机制与 Android | 第25页 |
| 2.4 本章小结 | 第25-27页 |
| 3 OSGi 技术研究 | 第27-35页 |
| 3.1 OSGi 特点 | 第27-28页 |
| 3.2 OSGi 标准研究 | 第28-30页 |
| 3.2.1 Bundle 简介 | 第28-29页 |
| 3.2.2 OSGi 框架结构 | 第29-30页 |
| 3.3 OSGi 服务平台介绍 | 第30-32页 |
| 3.3.1 Apache Felix | 第30-31页 |
| 3.3.2 Equinox | 第31-32页 |
| 3.3.3 Knopflerfish | 第32页 |
| 3.3.4 OSGi 服务平台比较 | 第32页 |
| 3.4 本章小结 | 第32-35页 |
| 4 模块动态加载框架的设计 | 第35-53页 |
| 4.1 框架在 Android 平台中的位置 | 第35-36页 |
| 4.2 Android Service | 第36-37页 |
| 4.3 OSGi 与 Android | 第37-43页 |
| 4.3.1 执行粒度 | 第38-40页 |
| 4.3.2 执行文件 | 第40-43页 |
| 4.4 框架总体设计 | 第43-44页 |
| 4.5 模块层设计 | 第44-46页 |
| 4.6 生命周期层设计 | 第46-49页 |
| 4.6.1 模块的状态 | 第46-47页 |
| 4.6.2 模块的控制 | 第47-48页 |
| 4.6.3 核心接口 | 第48-49页 |
| 4.7 服务层设计 | 第49-51页 |
| 4.7.1 注册服务 | 第50-51页 |
| 4.7.2 使用服务 | 第51页 |
| 4.7.3 绑定服务 | 第51页 |
| 4.8 本章小结 | 第51-53页 |
| 5 模块动态加载框架的实现与验证 | 第53-67页 |
| 5.1 应用介绍 | 第53页 |
| 5.2 应用总体设计 | 第53-54页 |
| 5.3 应用详细设计 | 第54-55页 |
| 5.3.1 宿主程序设计 | 第54页 |
| 5.3.2 模块设计 | 第54-55页 |
| 5.4 框架实现 | 第55-61页 |
| 5.4.1 模块层实现 | 第55-56页 |
| 5.4.2 生命周期层实现 | 第56-60页 |
| 5.4.3 服务层实现 | 第60-61页 |
| 5.5 应用程序配置 | 第61-64页 |
| 5.5.1 宿主程序配置 | 第61-63页 |
| 5.5.2 功能模块配置 | 第63-64页 |
| 5.6 用户体验测试 | 第64-65页 |
| 5.7 应用程序性能测试 | 第65-66页 |
| 5.8 本章小结 | 第66-67页 |
| 6 总结与展望 | 第67-69页 |
| 6.1 论文工作总结 | 第67-68页 |
| 6.2 改进与展望 | 第68-69页 |
| 参考文献 | 第69-73页 |
| 致谢 | 第73-75页 |
| 个人简历 | 第75-76页 |