【Unity】 HTFramework框架(五十二)使用 HybridCLR 热更新

news2024/11/18 19:41:18

更新日期:2024年7月1日。
Github源码:[点我获取源码]
Gitee源码:[点我获取源码]

索引

  • HybridCLR 热更新
  • 一、启用宏定义
  • 二、导入HybridCLR
  • 三、设置热更新程序集
  • 四、资源、代码热更

HybridCLR 热更新

HybridCLR是一个特性完整、零成本、高性能、低内存的近乎完美的Unity全平台原生C#热更方案。

只要简阅官方文档,就会发现项目中接入HybridCLR极其简单,所以在框架中使用HybridCLR热更新并没有做太多的调整,只需要做如下几个简单的步骤即可。

注意,HTFrameworkILHotfixHTFrameworkXLua可选模块已不再支持与维护,HybridCLR官方文档中也有说明如何将基于ILRuntimeXLua热更的项目改进为HybridCLR热更。

一、启用宏定义

定义宏HOTFIX_HybridCLR,以告诉框架当前已启用HybridCLR热更新(该宏在预定义列表中,可直接点击Use进行定义):

在这里插入图片描述

HTFramework框架采用了单一入口场景的策略,且框架的初始化、生命周期等会在进入入口场景时优先执行,那么我们的一些需要热更的资源或代码,很可能在还未进行热更的前提下,便已被框架加载调用。

所以,定义宏HOTFIX_HybridCLR后,再运行程序进入入口场景,主框架将处于静默状态,以等待进行自定义的资源更新、代码更新的完成。

二、导入HybridCLR

完成了上一步宏定义后,此时我们查看主模块Main的检视面板,便会发现多出了HybridCLR的分页:

在这里插入图片描述

此处显示的HybridCLR并未导入,我们点击Quick Start按钮跳转到HybridCLR的官方页面,开始导入并快速体验HybridCLR热更新。

在这里插入图片描述
导入成功后,在检视面板上便能够看到当前导入的HybridCLR版本:

在这里插入图片描述

三、设置热更新程序集

HybridCLR一样,在主程序发布前,你需要告诉框架所有热更新程序集的名称,在如下位置即可设置:

在这里插入图片描述

四、资源、代码热更

然后,由于我们定义了宏HOTFIX_HybridCLR,框架运行时已进入静默状态,此时所有模块皆是不可使用的(比如不能使用WebRequest模块去下载文件)。

所以需要自己实现资源、代码热更的逻辑,比如:

  • 1.从资源服务器下载最新AB包到本地Application.persistentDataPath路径(框架的AB包加载根路径默认为此);
  • 2.从资源服务器下载最新的热更程序集到本地,路径随意,但下载完成后最好立即Assembly.Load

如上的资源、代码热更完成后,只需调用如下一句,便可使框架解除静默状态,并开始所有生命周期:

		//HybridCLR 热更新程序集已加载完成
        Main.Current.HybridCLRCompleted();

框架生命周期开始后,会立即进入默认流程,此时即使默认流程类型存在于热更新程序集中也能正确加载,因为我们已经在框架静默时将热更新程序集Assembly.Load了。

如此,整个框架便完全适配HybridCLR热更新了,其他关于HybridCLR热更新的使用要点和注意事项,参考官方文档即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1882378.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探索 ONLYOFFICE 8.1:云端协作的新纪元

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

如果对方没做幂等!记一次生产订单重复的反思

最近公司公司的旧系统中发现了一个bug。业务部门反馈,尽管用户只支付了一年的服务费用,系统却将有效期增加了两年。 原因分析: 到底是什么原因呢? 经过日志分析,发现消息队列(MQ)向第三方服务发…

EDI是什么?与ERP有何关系

EDI的发展过程 电子数据交换(Electronic Data Interchange,EDI)是一种通过电子方式传输商业文件的技术。EDI的历史可以追溯到20世纪60年代,当时企业开始使用计算机进行数据处理。最早的EDI系统是为解决大型企业间的信息交换问题而…

【刷题汇总--数字统计、两个数组的交集、点击消除(栈)】

C日常刷题积累 今日刷题汇总 - day0011、数字统计1.1、题目1.2、思路1.3、程序实现 2、两个数组的交集2.1、题目2.2、思路2.3、程序实现 3、点击消除(栈)3.1、题目3.2、思路3.3、程序实现 今日刷题汇总 - day001 1、数字统计 1.1、题目 请统计某个给定范围[L, R]的所有整数中…

智能制造企业CRM系统推荐清单(2024版)

当前,CRM市场呈现出“国际龙头优势逐渐下降,国产CRM奋起直追”的格局。智能制造企业在选型CRM时,如何选择合适的系统是一个需要重视的课题。 在我们之前的文章《一文读懂CRM,2023年30家CRM系统对比(近年最全&#xf…

如何在AWS上使用免费的服务器

要在AWS上免费使用的服务器,你可以按照以下步骤操作: (1)注册AWS账户: 访问AWS官方网站(https://aws.amazon.com/cn/),点击右上角的“完成注册”,按照页面提示填写相关…

经典小游戏(一)C实现——三子棋

switch(input){case 1:printf("三子棋\n");//这里先测试是否会执行成功break;case 0:printf("退出游戏\n");break;default :printf("选择错误,请重新选择!\n");break;}}while(input);//直到输入的结果为假,循环才会结束} …

基于FreeRTOS+STM32CubeMX+LCD1602+MCP23S09(SPI接口)的I/O扩展器Proteus仿真

一、仿真原理图: 二、运行效果: 三、STM32CubeMX配置: 1)、GPIO配置: 2)、SPI配置: 四、部分软件: 1)、主函数: /* USER CODE BEGIN Header */ /** ****************************************************************************** * @file : mai…

游戏AI的创造思路-技术基础-关于艾宾浩斯遗忘曲线的迷思

对于艾宾浩斯遗忘曲线和函数,我一直都有小小的迷思,总想实验下用艾宾浩斯函数来替换sigmoid函数作为激活函数,打造更接近人类的AI算法,这篇文章旨在讨论下 目录 3.10. 艾宾浩斯曲线 3.10.1. 定义 3.10.1.1. 曲线计算公式 3.10…

想用AI高端算力训练模型?试试英智BayStone平台

随着生成式人工智能的迅猛增长,各大公司纷纷推出强大的 AI产品以提升自身核心竞争力,对于依赖基础模型进行推理训练,同时需要高级基础设施的人工智能初创企业,急需使用高端智算算力来加速模型训练与产品研发创新。 算力是否充足&…

测试接口的完整流程

背景 今天睿哥给我布置了一个任务,叫我学习一下如何测试接口。 然后我就上网搜索去了解了一下,看看测试接口是什么。看了很久之后,我大概对接口测试有了一定的理解。 通俗来说,接口测试就是使用某种工具模拟客户端发送http请求…

Github 上 Star 数最多的大模型应用基础服务 Dify 深度解读(一)

背景介绍 接触过大模型应用开发的研发同学应该都或多或少地听过 Dify 这个大模型应用基础服务,这个项目自从 2023 年上线以来,截止目前(2024-6)已经获得了 35k 多的 star,是目前大模型应用基础服务中最热门的项目之一…

HEC-HMS水文模型教程

原文链接:HEC-HMS水文模型教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247607904&idx5&sn1a210328a3fc8f941b433674d8fe2c85&chksmfa826787cdf5ee91d01b6981ebd89deac3e350d747d0fec45ce2ef75d7cb8009341c6f55114d&token90645021…

智能驾驶系列报告:特斯拉智能驾驶方案简剖

不同于绝大多数国内车企在自动驾驶上采取多传感器融合方案,特斯拉FSD在发展初期就摒弃激光雷达、且不配备高清地图,成为在感知层以摄像头为核心的纯视觉解决方案代表;其依靠车身搭载的摄像头来捕捉周围的环境信息,并经过算法及神经网络模型处…

JOSEF约瑟 YHSJ-J打滑开关 使用带速0.3-5.0m/s

产品概述: YHSJ-J打滑开关是一种智能型超速打滑检测器,采用非接触式监测方式,自动采集设备正常运行时的转速,并通过监测转速变化量和相关控制参数进行比较,以判断是否存在打滑现象。 该产品已广泛应用于输送系统中&…

【智慧水利数字孪生解决方案】

在2024年全国水利工作重点会议上,水利部部长李国英发表重要讲话,强调:大力推进数字孪生水利建设。坚持需求牵引、应用至上、数字赋能、提升能力,加快构建数字孪生水利体系,为水利治理管理提供前瞻性、科学性、精准性、…

“论云上自动化运维及其应用”写作框架,软考高级论文,系统架构设计师论文

论文真题 云上自动化运维是传统IT运维和DevOps的延伸,通过云原生架构实现运维的再进化。云上自动化运维可以有效帮助企业降低IT运维成本,提升系统的灵活度,以及系统的交付速度,增强系统的可靠性,构建更加安全、可信、…

明星中药企业系列洞察(九)一手好牌打的稀烂!近500年老字号锁定退市,太安堂为何“塌房”了?

近日,太安堂发布公告称,公司已收到深交所下发的《关于广东太安堂药业股份有限公司股票终止上市的决定》,深交所决定终止公司股票上市,预计其最后交易日期为7月4日。太安堂曾作为国内知名的中成药上市公司之一,是国家级…

动捕系统如何解决“超出捕捉范围”的挑战

惯性运动捕捉系统改变了我们捕捉运动的方式,使艺术家、创作者和独立工作室能够摆脱动捕实验室和复杂设置的限制。通过身体上的传感器和无线连接,动捕演员可以自由移动和并作出各种高难度动作。然而具有高自由度的惯性动捕系统,经常面临着超出…

深入解析 androidx.databinding.BaseObservable

在现代 Android 开发中,数据绑定 (Data Binding) 是一个重要的技术,它简化了 UI 和数据之间的交互。在数据绑定框架中,androidx.databinding.BaseObservable 是一个关键类,用于实现可观察的数据模型。本文将详细介绍 BaseObservab…