Unity3D: Cache Mechanism

来源:互联网 发布:下载荧光签名软件 编辑:程序博客网 时间:2024/05/21 09:20

Caching

 Unity3d,assetbundle,webplayer平台下,使用cache模式进行加载时,第一次指定了一个BundleURL,加载成功(且不考虑位置偏差问题),然后删掉assetbundle.unity3d,这个文件,运行程序,依然能够加载,很奇怪,经过调查走访发现,是因为缓存的缘故,存放在如下位置:

C:\Users\Administrator\AppData\LocalLow\Unity\WebPlayer\Cache,将其中的文件删除后,就加载不了了,之前一直怀疑是遗留在了内存中,使用了各种清除和回收的方法,均未奏效。原理是,第一次加载后,就生成了缓存,然后不管你BundleURL指向的文件是否存在,只要assetname一致,url未改变,就直接调用缓存中的文件,而不管你是否重新生成了这样同名的一个assetbundle。

Clear the Cache:(转载)

U3D插件一个比较令人吐血的功能是,一旦游戏的资源文件下载失败,可能你永远都无法再次进入游戏。目前官方没有给出比较好的方案,只能通过手工清除缓存。对于普通玩家来说,手工,就意味着痛苦。本人做了一个简单的命令行工具,只要双击,就能帮你解除痛苦。

首先,关闭浏览器(IE或者360)

难后,按照以下步骤操作

1:打开记事本,复制以下带到记事本中,另存为clear.bat

(目前只支持xp/win7系统和ie,360浏览器,其他系统和浏览器将陆续更新)

remxp系统

@echooff

c:

echo"正在清理Unity缓存..."

cd%userprofile%\LocalSettings\Application Data\Unity\WebPlayer

rd/s /q cache

echo"清除Unity缓存完成!"

echo正在清除IE缓存文件,请稍等......

del/f /s /q"%userprofile%\Local Settings\Temporary Internet Files\*.*"

echo清除IE缓存完成!

 

rem win7系统

@echooff 

echo"正在清理Unity缓存..."

c:

cd%userprofile%\AppDataLocalLow\Unity\WebPlayer

rd/s /q cache

echo"清除Unity缓存完成!"

 

echo正在清除IE缓存文件,请稍等......

del/f /s /q"%userprofile%\AppData\Local\Microsoft\Windows\TemporaryInternetFiles\*.*"

echo清除IE缓存完成!

2、双击运行clear.bat

新发现了一个unity中清除cache的方法,那就是:Caching.CleanCache。有时不用的话会造成加载以前的bundle,导致bug。


0 0
原创粉丝点击