插件加载流程图
2016-04-29 18:27:05 0 举报
插件加载流程图描述: 1. 用户启动应用程序。 2. 应用程序检查是否有需要加载的插件。 3. 如果有插件需要加载,应用程序会搜索插件的位置。 4. 找到插件后,应用程序会检查插件的版本和兼容性。 5. 如果插件版本兼容,应用程序会加载插件。 6. 插件加载完成后,应用程序会调用插件的初始化函数。 7. 插件初始化完成后,应用程序会调用插件的功能函数。 8. 用户使用应用程序完成操作。 9. 用户关闭应用程序。
作者其他创作
大纲/内容
提示错误信息
请求远程插件配置信息
N
需要更新插件?
结束
加载新版本插件
遍历本地插件列表,根据远程插件列表的可用信息获取最优本地插件(enable = true && min_build = build_code,删除不可用的插件,并只保留一个最新版)
加载结束
Y
开始加载
无法获取远程插件信息时,APP对插件的使用会出于一种不可控的状态,这里的策略(是否使用旧插件)要根据具体业务而定(如果这里使用旧插件,而这个旧插件在远程配置里是被禁用的,会导致APP使用了已禁用插件)。
获取远程插件列表中已启用(enable)并且版本要求(min_build)低于当前APP版本的最大版本号插件
获取信息失败时使用旧插件?
最优插件是否强制升级?
根据本地和远程插件列表,根据配置信息删除本地已禁用插件,并计算本地、远程最优插件
按版本号逆序排列本地、远程插件列表
开始计算最优插件
下载成功?
获取本地已安装插件列表
是否有可用的旧版本插件?
插件更新1. 及时吊销插件更新机制需要有及时吊销机制,使用旧版本插件的时候,需要先判断服务器的配置信息中没有关闭这个版本的可用性(enable),如果服务器已经关闭了该信息,丢弃改插件。2. 强制升级新版本插件如果有必要强制升级,可以在服务器的配置信息中带上强制升级的Flag(force_update),开启强制升级的状态下如果用户没有下载最新版本的插件,尽管有可用的旧版本插件,也应该弃用,并提示用户“需要升级新的东西”才能正常使用。3. APP版本要求插件需要用到一些APP的API,随着插件的升级,可能会新增一些API,而这些API在旧版本的APP里是没有的,所有插件需要有一个最低版本APP的要求(min_build)。
成功获取配置信息?
加载旧版本插件
下载新的插件
有远程最优插件?
0 条评论
下一页