重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
环境:win10, unity2018, vs2015
公司主营业务:成都网站建设、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出东宁免费做网站回馈大家。最近在弄ab包
有几种加载方式,其中一种就是
WWW.LoadFromCacheOrDownload(string url, int version)
url是ab包的地址,version是版本号
问题就出在这个version上
看官方文档也没有说清这个版本号是哪来的,干什么用的
进行了大量搜索以及使用,才大概弄明白
首先,这个version版本号并不记录在ab包文件中,比如对应的manifest文件
那是从哪来的呢
其实很简单,这个版本号是开发者自己赋予的。
而赋值的地方恰恰就是这句代码
WWW.LoadFromCacheOrDownload(string url, int version);
即,当你用这个语句加载包时,比如咱们把version设置为2
系统会判断你本地有没有加载过这个包,有的话,再看加载过的包的版本是不是2
如果没有版本号为2的,则从url地址下载到本地缓存,并且给这份缓存编一个version号,即2
这个我是做webgl程序时试用的
也就是说,如果你在一个浏览器中第一次打开你的webgl项目,你在上面的加载语句中给了一个版本号是2,那浏览器看到本地没有缓存就会去url地址上下载,并将2做为版本号赋给这份缓存。下次再打开,如果程序没变,版本号还是2,那么本地有之前下载的缓存且版本号为2,程序就不会从url处下载,而是直接读取本地的缓存。这就是缓存的意义所在吧。
那么下次再打开,而请求的版本号改为了3,同理,程序判断本地缓存没有版本号为3的,同样再从url处下载到本地,存成另一份缓存,并赋予其3做为版本号
综上,你以一个版本号来请求时,程序(浏览器)会在本地已有的缓存中查找,如果已有此版本号的缓存,则直接从本地该缓存读取,如果没有则从url处下载,存到本地,赋予本次请求的版本号
所以之前大的纠结就是这个版本号到底是在哪里设置的,其实就是在请求下载的时候那个参数。
另外,如上所述,如果你用不同版本号加载过,那么其实本地会存有不只一份缓存。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。