Android的插件机制
Android下几种不同不同层次的插件介绍
什么是插件
百度百科是这样定义插件的:
插件的定位应该是开发实现原纯净系统平台/应用软件平台不具备的功能的程序,其只能运行在程序规定的系统平台下(可能同时支持多个平台),而不能脱离指定的平台单独运行。因为插件需要调用原纯净系统提供的函数库或者数据。
第0层插件 —— APK
根据百度百科的定义,我们可以认为Android系统本身就是一个巨大的插件系统。
而我们所开发的APK,就是针对Android系统的插件。
第1层插件 —— 资源/实现 替换
本层的代表是 友盟实验室 放出的 APF(Android Plugin Framework)。
这种插件实现方式,主要适用于将程序逻辑与界面分离,以便通过插件替换现有的实现逻辑。
如 APF所举的例子: 对同一款游戏,提供两个不同的插件,一个实现“低难度”的算法,另一个实现 “高难度”的算法。
第2层插件 —— Activity 替换
本层的代表是 腾讯的手机游戏平台。
虽然 腾讯 没有对外发布源码,但我们可以通过以下文章对其有一个大致的了解。
探秘腾讯Android手机游戏平台之不安装游戏APK直接启动法、
第3层插件 —— Fragment 替换
Fragment 是 Android 3.0 引入的。它同 Activity 一样,具有自己的生命周期,能够与用户交互。从理论上,我们可以只写一个Activity,然后将所有界面都通过不同的 Fragment 来实现。
本层的代表是 mmin18 所放出的一个Demo。
声明: 本文采用 CC BY-NC-SA 3.0 协议进行授权,转载请注明出处。