热更图片方案

  • 项目平常需要对线上一些图片资源修正,所以需要热更图片功能。
  1. 远端入口新增字段配json文件
{
    "1.1.22030303":{
        "sprite":

        {

            "assets/ui/common/images/acient_gold.png" : "https://aaaa.png",

            "assets/ui/common/images/bbb.png" : "https://bbb.png",

         },

        "texture":

         {

             "assets/ui/common/images/cccc.png" : "https://cccc.png",

            "assets/ui/common/images/dddd.png" : "https://dddd.png",

         }
    }
}
  1. 新增一个hotfix_img_mgr.lua,在config.lua require之后再初始化,方便后续热更调整
    3.1. 初始化时异步检查下载热更配置,注意容错:配置无,json.decode异常,配置缺"texture"等。
    3.2. 配置检查完异步下载图片资源,并缓存,下载超时时间根据图片大小(GetFileSizeWithUrl)设置超时时间,比如一个图1M,算较差情况100k每秒,1024/100=10s超时
    3.3. 旧包没导出’UnityWebRequestTexture‘ 接口,先加到导出但不用(后面再说),考虑旧版使用 UnityEngine.WWW.texture 下载,下载完btyes可以缓存本地记录,避免重复下载
    3.4. 加接口支持外部取图片,避免特殊情况需要手动获取热更图片,比如新增图片或修改材质图片

  2. res_mgr.lua 加载图片的时候,先查 hotfix_img_mgr 有没有对应路径缓存图片,注意hotfix_img_mgr可能为nil(即在热更前调用了),要容错。
    4.1. 如果有热更缓存就直接使用,要是下载中就先不管了,等玩家手动刷新界面
    4.2. 注意检查缓存同时检查远端配置是否有,避免出现远端已经删除这个热更图片,但本地有缓存就还是用了缓存图片

  3. 加数数上报埋点,1.准备下载哪些图片 2.开始下载某个图片 3.下载完成某个图片

  4. 可以考虑加GM检查打印当前热更的图片情况。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值