当前位置: 首页 > news >正文

热更图片方案

  • 项目平常需要对线上一些图片资源修正,所以需要热更图片功能。
  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检查打印当前热更的图片情况。

相关文章:

  • 深入解析:如何在C#和C/C++之间安全高效地通过P/Invoke传递多维数组
  • APNs证书添加到Trust Store (信任库)
  • Excel中不用复杂公式根据指定X列的数值N复制整行数据N行简单方法
  • leetcode 543. 二叉树的直径
  • 基于SpringBoot的宠物健康顾问管理系统
  • DeepSeek 本地部署及深度使用
  • 本地部署【LLM-deepseek】大模型 ollama+deepseek/conda(python)+openwebui/docker+openwebui
  • Linux自旋锁:探秘内核同步利器
  • [MySQL]1-MySQL结构与运行原理
  • 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-22- 操作鼠标拖拽 - 下篇(详细教程)
  • Django在终端创建项目(pycharm Windows)
  • 区块链+隐私计算:长安链多方计算合约标准协议(CMMPC-1)发布
  • @JsonRawValue 注解
  • Bash 中的运算方式
  • 【Linux】【进程】epoll内核实现
  • uniapp 使用 鸿蒙开源字体
  • Go框架面试突击!30道高频题解析
  • 将 AMD Zynq™ RFSoC 扩展到毫米波领域
  • 探索Java中的集合类_特性与使用场景
  • Git 与持续集成 / 持续部署(CI/CD)的集成
  • 重庆党政代表团在沪考察,陈吉宁龚正与袁家军胡衡华共商两地深化合作工作
  • 经彩申城!上海网络大V沙龙活动走进闵行
  • 迪拜金融市场CEO:2024年市场表现出色,超八成新投资者来自海外
  • 视频丨习近平同普京会谈:共同弘扬正确二战史观,维护联合国权威和地位
  • 菲护卫艇企图侵闯中国黄岩岛领海,南部战区:依法依规跟踪监视、警告驱离
  • 媒体起底“速成洋文凭”灰产链,专家:我们要给学历“祛魅”