论坛风气不好,太多二极管,不想开源。不过可以提供一下思路。
热更新分为几块内容:
manifest解析(版本比较、md5比较、更新文件列表,这部分可以仿写官方的)
文件下载(这个地方是一个策略模式,各个平台提供自己的下载策略,我没有实现断点续传)
zip解析 (我为了减少包体积,用都是微信提供的uzip和cocos提供的解压功能,如果希望通用可以试试jszip)
jsb.AssetsManage的接口都可,以参考。唯一需要自己试试的就是各个平台可以下载的临时地址,和可读地址。因为解压之前要放到临时文件下面,解压后要放到可读文件下。每个平台对一些内存和存储限制,这个需要注意。
需求看上去根据版本号加载或重载bundle的资源就可以了?
你说的没错,如果只是使用基础功能是没啥区别,不过就像 混合更新(版本更新和增量更新)楼上说的实现垮版本更新,版本回退会更方便一些。完全看项目需求。有的项目需要,有的项目部需要。