第十五集:遊戲資源載入器
AssetManager
1.API定義:負責載入類似於Textures BitmapFonts Tilemaps Sounds Music 等型別的檔案
2.示例:
val manager = AssetManager()
manager.load("456.png",Texture::class.java)
manager.unload("456.png")
manager.update()
特點:
1.載入大部分資源採用非同步載入方式,在載入的同時,不阻塞主執行緒。
2.實現引用計數,當A和B都依賴同一個資源的時候,只有在A和B都銷燬了,才會銷燬,意味著一個資源載入了很多次,在記憶體中也只有一份。
3.使用一個單一管理器來實現管理所有素材。
常用方法:
1.clear()
:清空和刪除所有已載入資源和預載入佇列。
2.boolean containsAsset (T asset)
:返回檢測是否載入了某個資源
3.String getAssetFileName (T asset)
獲取資源名字,得到的是一個String型別的檔名字
4.public synchronized int getLoadedAssets ()
獲取以及載入的資源數量。
5.public synchronized float getProgress ()
獲取載入進度,返回值是 0.0 ~ 1.0
6.public synchronized boolean isLoaded (String fileName)
返回一個布林型別,檢測傳入的檔案是否被載入。
7.public synchronized <T> void load (String fileName, Class<T> type)
將已傳入的檔名和型別載入預載入佇列,為了防止名字和型別重複,這裡需要將名字和型別都傳入。
8.public synchronized <T, P extends AssetLoaderParameters<T>> void setLoader (Class<T> type, AssetLoader<T, P> loader)
設定載入器,其實AssetManager類中,包含了需要AssetLoader物件,這樣才能完成不同型別的檔案載入,當然AssetManager也可以自定義載入器。
9.public synchronized void unload (String fileName)
:解除安裝資源,如果某個資源不使用了,可以解除安裝該資源,這樣有利於遊戲流暢性。
10.public synchronized boolean update ()
更新載入資源,實際上load方法只是將預載入的資源載入到了預載入佇列,實際上並沒有載入資源,使用update方法才會載入資源,呼叫該方法才能使不斷載入,儲存在預載入中的資源。
相關文章
- 遊戲底層資源管理載入 ppt大綱遊戲
- webkit 瀏覽器內幕之資源載入WebKit瀏覽器
- [Unity] 實現AssetBundle資源載入管理器Unity
- 瀏覽器頁面資源載入過程與優化瀏覽器優化
- 讓我們再聊聊瀏覽器資源載入優化瀏覽器優化
- AssetBoundle載入非預設資源
- 域名劫持資源重載入方案
- 渲染引擎的資源載入優化優化
- Android 資源載入機制剖析Android
- 前端效能優化 – 資源預載入前端優化
- 第十一節 資源伺服器api-server整合zuul閘道器伺服器APIServerZuul
- 簡說Spring中的資源載入Spring
- 用 preload 預載入頁面資源
- web伺服器靜態資源下載Web伺服器
- 利用Resource Timing監控資源載入速度
- 細談unity資源載入和解除安裝Unity
- 協程及非同步載入資源場景非同步
- 前端效能優化 - Resource Hints 資源預載入前端優化
- Android 動態載入資源例項解析Android
- 前端資源預載入並展示進度條前端
- 我是如何入門 Rust:遊戲資源解包(一)Rust遊戲
- 模組載入器
- SpringBoot-靜態資源載入-原始碼Spring Boot原始碼
- WKWebView載入不出來圖片音訊等資源WebView音訊
- 外掛化之程式碼呼叫與載入資源
- tinker熱修復——資源補丁載入過程
- 使用 RxJava 從多種來源中載入資料RxJava
- Silverlight動態載入呼叫XAML資源
- Java 類載入器以及載入機制Java
- 資料來源Parquet之使用程式設計方式載入資料程式設計
- JVM入門--類載入器JVM
- Flutter下實現WebView攔截載入離線資源FlutterWebView
- framework外掛化技術-資源載入(免安裝)Framework
- Android資源動態載入以及相關原理分析Android
- https頁面載入http資源的解決方法HTTP
- Excipio:《權力的遊戲》第五季第五集下載量突破220萬 打破盜版下載記錄遊戲
- 類載入器(JVM)JVM
- Webpack模組載入器Web