Unity Resource資料夾的使用

米蘭的老鐵匠發表於2017-06-16

Resource資料夾,用於在執行時載入資源。使用Resource.Load<type>("path")的方式載入,簡單方便。

但是儘量不要使用它,

        1:它使記憶體管理變得困難;

        2:不恰當的使用Resource資料夾,會增加程式啟動時間和打包時間;

        3:降低了工程中的內容轉換到特定平臺的能力,使內容更新困難

適當的使用它:

1:實現性或者設計原型,也就是demo級別的 可以使用,因為它方便;如果一個工程移動到另一個完整的工程,那就不要使用Resource了;

        2:處理一些瑣碎細小的東西可以使用 如下情況

              * 不會佔用太多記憶體

              * 資源會貫穿程式的整個生命週期

              * 資源不會經常更新修改,打補丁

              * 資源不會因為平臺或者裝置不同而不同

情況2包含比如一個含有單例模式的MoneBehaviours的perfer,或者包含第三方外掛的配置表,比如facebook ID、


序列化Resource

在Resource資料夾下的檔案,在打包的時候會被整合到一個檔案中,裡面包含了後設資料和索引資訊,跟AssetBundle很像。索引資訊包含了序列化的查詢樹(用來將名字分解成適當的GUID和本地ID),也用來索引這個Object。

查詢樹的資料結構是一個平衡樹,它的效率是O(NLog(N)),N是這個Object在樹中的索引。這種級別的增長,導致Resouce中檔案越多,索引時間越長。

        這個過程在程式啟動時進行的,初始化Resouce下10000個資源,在較低端配置的手機上要耗費許多s,儘管這些資源在第一個場景中很多不會用到

原文:https://unity3d.com/cn/learn/tutorials/temas/best-practices/resources-folder?_ga=2.261925572.890915518.1497582721-1009087795.1497582721

相關文章