貼下地址,看了確實很有幫助
http://www.ceeger.com/forum/read.php?tid=4394
http://www.ceeger.com/forum/read.php?tid=4466
http://blog.csdn.net/lodypig/article/details/51879702
在5.3之前,如果需要解壓,都在四個API(New WWW、CreateFromFile、LoadFromMemory、LoadFromCache等)中進行,而不是在后面執(zhí)行
1、看一下AB制作的API說明,AB是可以不壓縮的;
2、CreateFromFile在4.x的API,只能加載非壓縮的AB,而在5.0以后,對應(yīng)的是LoadFromFile,5.3之后可以加載任何壓縮格式的AB了
https://blog.uwa4d.com/archives/ABTheory.html
AssetBundle.Unload (unloadAllLoadedObjects : bool)卸載所有包含在bundle中的對象。
卸載釋放bundle中所有序列化數(shù)據(jù)。當unloadAllLoaderObjects為假,bundle內(nèi)的序列化數(shù)據(jù)將被釋放,但是任何從這個bundle中實例化的物體都將完好。當然,你不能從這個bundle中加載更多物體。當unloadAllLoaderObjects為真,所有從該bundle中加載的物體也將被銷毀。如果場景中有游戲物體引用該資源,那么引用也會丟失。
這是U3D沒有處理好的一個環(huán)節(jié)。在WWW加載資源完畢后,對資源進行instantiate后,對其資源進行unload,這時問題就發(fā)生 了,instantiate處理渲染需要一定的時間,雖然很短,但也是需要1,2幀的時間。此時進行unload會對資源渲染造成影響,以至于沒有貼圖或 者等等問題發(fā)生。
解決辦法:
自己寫個時間等待代碼,最好不要用WaitForSeconds,U3D的API,這個東西很撮,惡心死我了。。。
我估計它這個類寫的有問題,檢查了好長時間,最后還是自己寫了幾行代碼來替換這個類,解決了問題。
等待個0.5秒到1秒之后再進行Unload。這樣就不會出現(xiàn)instantiate渲染中就運行unload的情況了。