在上一篇,介绍了 Res Kit 的基本使用,相信大家已经体会到了 Res Kit 的简便之处了。

在这一篇,我们试着探讨一下 Res Kit 的设计背后原理。

AssetBundle 的不便之处

在使用 Res Kit 之前,相信大家多多少少接触过 AssetBundle。 有的童鞋可能是在项目中用过 AssetBundle,有的童鞋可能只是简单学习过 AssetBundle。总之,AssetBundle 在不通过 Res Kit 使用之前,总结下来就两个字:麻烦。

AssetBundle 麻烦在哪里呢?

首先 AssetBundle,需要打包才能在运行时加载资源。而打包需要我们写编辑器扩展脚本,在编辑器扩展脚本中还要处理平台和路径相关的逻辑。

在运行时,还需要根据平台和路径去加载对应的 AssetBundle。

这些操作想想就比较头痛。

既然 AssetBundle 这么麻烦,我们为什么还要用 AssetBundle 呢?

因为 AssetBundle 可以给项目带来更好的性能,而且 AssetBundle 支持热更新。

有了这两个优势,AssetBundle 就成了很多项目的必然选择。

而 Res Kit 中,为了解决频繁打包的问题,引入了一个概念:模拟模式(Simulation Mode)。

模拟模式(Simulation Mode)

在上一篇,我们已经接触了模拟模式(Simulation Mode)。

什么是模拟模式?

顾名思义,就是模拟加载 AssetBundle 的模式,这里只是模拟,并没有真正去加载 AssetBundle,而是去加载 Application.dataPath 目录下的资源,也就是 Assets 目录下的资源。

这样做有什么好处呢?

好处就是每当有资源修改的时候,就不用再打 AB 包了,就可以在运行时加载到修改后的资源。

如果是非模拟模式下,每当有资源修改时,就需要再打一次 AB 包,才能加载到修改后的资源。

所以一个模拟模式,解决了频繁打 AB 包的问题,从而在开发阶段提高我们的开发效率。

那么在使用 Res Kit 的时候,模拟模式对应的阶段是开发阶段,那么非模拟模式对应的是什么阶段呢?

答案就是真机阶段。

开发阶段、真机阶段

开发阶段、真机阶段并不是 Unity 提供的概念,而是笔者在迭代 Res Kit 中提出的两个概念。

这两个概念很容易理解:

  • 开发阶段:开发逻辑的阶段,需要编写大量的逻辑,大部分情况下都在 Unity Editor 环境下开发。
  • 真机阶段:需要在真机上运行的阶段,这个阶段主要是做大量的测试或者真正发布了。

相信有点规模的项目都会分阶段出来的,比如开发阶段、测试阶段、生产阶段等等,大家理解起来应该不难。

接下来简单分析一下开发阶段、真机阶段的特点。

开发阶段 在开发阶段,开发者需要写大量的逻辑,而且资源的目录还没有稳定,一般在开发过程中会有很大的变化。 如果每次资源的修改都需要打 AB 包的话,会非常影响开发进度。

真机阶段 真机阶段,一般就是一个版本的逻辑都写完了,只需要做一些测试和 debug 工作。在这个阶段,资源目录都稳定了,不需要做很大的调整。

在真机阶段,每次打 App 包之前,只需要 Build 一次 AB 即可。

当然,在 Unity Editor 环境中,可以取消勾选模拟模式,这样在 Unity Editor 环境下可以加载真正的 AssetBundle 包。

在上一篇文章所说的,拥抱各个开发阶段指的就是为开发阶段、和真机阶段做了考虑。

此篇的内容就这些。

小结

  • 开发阶段:

    • 模拟模式
  • 真机阶段:

    • 每次打 App 包之前,打一次 AB 包。
    • 可以在 Unity Editor 环境下,取消勾选模拟模式,这时在运行时加载的资源则是真正的 AssetBundle 资源
    • 转载请注明地址:凉鞋的笔记:http://liangxiegame.com。
  • 查看凉鞋的笔记主页:https://liangxiegame.com,了解2020 第三届小班报名,专栏等精彩内容。
  • QFramwork QQ 交流群:623597263
  • 关注公众号:liangxiegame 获取第一时间更新通知及更多的免费内容。

模拟真机环境_QFramework 使用指南 2020(八):Res Kit(2)模拟模式与非模拟模式...相关推荐

  1. 手机自动化脚本-- 模拟器模拟真机环境过检测

    文章目录 安装包目录结构 一.安装雷电模拟器9 二.新建模拟器并且初始化 1. 性能设置 2. 其他设置 3. 当前配置 三.面具 1. 安装 2. 面具初始化 四.修改机型 1. 将机型模块安装到模 ...

  2. 远程连接模拟真机ADB 调试工具安装详解

    在Android开发过程中,有时候没有真机,需要连接云手机,或者三方模拟真机进行调试,这里就会用到ADB工具. 一.我们先准备好ADB工具,获得ADB途径可以 官方下载:官网下载 CSDN下载:csd ...

  3. 【Data Cluster】真机环境下MySQL数据库集群搭建

    真机环境下MySQL-Cluster搭建文档 MySQL Cluster简介 MySQL cluster 和 Oracle RAC 完全不同,它采用 无共享架构Shared nothing(share ...

  4. Windows系统appium移动端自动化真机环境搭建

    appium-windows-android环境搭建完成以后,就可以进行真机模式下的appium环境搭建啦!! 准备:把要测试的app下载至本机(小波的是把apk放在桌面上,例如:C:\Users\w ...

  5. Appium移动端自动化测试--搭建模拟器和真机环境一

    目录 模拟器--安装Android Studio及Android SDK 模拟器--更改VDM默认存储路径 真机(Android)环境设置 真机--开启开发者模式 真机-- 打开USB调试 真机连接- ...

  6. 100天精通Andriod逆向——第3天:真机环境配置

    目录 一.真机环境配置(刷机基础教程) 1.1 刷机方式的分类 1.2 刷机包的分类 1.3 谷歌手机工厂镜像 1.4 简单配置 1.5 进入 Bootloader 模式 1.6 安装谷歌驱动 1.7 ...

  7. appium+win10+pycharm+android真机环境配置

    1. 环境依赖: Node.js Appium Appium-desktop Appium-Inspector Python Appium-Python-Client JDK Andriod SDK ...

  8. 模拟器真机环境_Appium+python自动化(二)- 环境搭建—下(超详解)

    上一篇android测试开发环境已经准备好, 那么接下来就是appium的环境安装和搭建了. 菲哥和小伙伴们开个玩笑,不要觉得自人品不好,就不会成功那都是骗人的.搭建环境和人品半毛钱关系也没有,搭建环 ...

  9. 移动端自动化测试appium(6)--搭建模拟器和真机环境

    模拟器–安装Android Studio及Android SDK 推荐直接安装Android Studio,然后使用Android Studio安装SDK. 启动SDK Manager,安装自己所需要 ...

最新文章

  1. ubuntu18.04 实现中文化 中文输入法
  2. mysql 二进制日志 解析c++_mysql二进制日志文件恢复数据库
  3. DPOS机制会比POW机制表现更好吗?
  4. php中的全局异常,PHP的全局错误处理详解
  5. java中解决脏读_多线程出现脏读以及解决方法(使用synchronized)
  6. C# VS生成后事件命令行
  7. true,false组合问题
  8. zoj3802:easy 2048 again(状压dp)
  9. 2020-04-27 三种内存屏障 acquire barrier / release barrier / full barrier
  10. 【大数据部落】R语言实现:混合正态分布EM最大期望估计法
  11. navicat mysql密码重置_navicat如何重置密码
  12. 支付宝和微信支付用户付款码条码规则
  13. java阿拉伯转大写_JAVA编写将阿拉伯数字转换成中文大写不要...
  14. win7升级win10正式版_如何在win7系统中升级win10
  15. java rds 数据库_java项目连接rds数据库
  16. iOS 使用系统相册获取选取图片的名称
  17. 使用recycleview 实现viewpager 功能,并带有指示器。(仿高德交通路线规划实现)
  18. Pomotroid 使用指南:一款高颜值 PC 端番茄时钟
  19. Ubuntu ee key too small
  20. 将低于总平均分成绩的女同学的成绩提高5%

热门文章

  1. codis3.2升级redis3.11到redis6.0.10调研
  2. Ubuntu18.04中pyhton默认版本从2.7换为3.x
  3. Python网络爬虫之requests库Scrapy爬虫比较
  4. R-C3D 视频活动检测
  5. scala基本语言结构以及函数算子(持续更新......)
  6. Commonjs规范
  7. 浏览器从输入url到页面加载完成发生了什么
  8. PHP CURL方法,GETPOST请求。
  9. mysql图形化及命令行操作用户权限
  10. 管理 Oracle Solaris ZFS 存储池网址