日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Unity单例模式+例子

發布時間:2023/12/9 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Unity单例模式+例子 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Unity單例模式

      • 什么是單例模式?
      • 什么時候用到?
      • 優點
      • 缺點
      • Unity單例模式例子

什么是單例模式?

答:單例模式(Singleton),也叫單子模式,是一種常用的軟件設計模式。在應用這個模式時,單例對象的類必須保證只有一個實例存在。許多時候整個系統只需要擁有一個的全局對象,這樣有利于我們協調系統整體的行為。比如在某個服務器程序中,該服務器的配置信息存放在一個文件中,這些配置數據由一個單例對象統一讀取,然后服務進程中的其他對象再通過這個單例對象獲取這些配置信息。這種方式簡化了在復雜環境下的配置管理。

什么時候用到?

答:當游戲中的某一個游戲對象永遠只有一個實例的時候,那么可以使用單例模式。

優點

(1) 由于單例模式在內存中只有一個實例,減少內存開支,特別是一個對象需要頻繁地創建銷毀時,而且創建或銷毀時性能又無法優化,單例模式就非常明顯了
(2) 由于單例模式只生成一個實例,所以,減少系統的性能開銷,當一個對象產生需要比較多的資源時,如讀取配置,產生其他依賴對象時,則可以通過在應用啟動時直接產生一個單例對象,然后永久駐留內存的方式來解決。
(3) 單例模式可以避免對資源的多重占用,例如一個寫文件操作,由于只有一個實例存在內存中,避免對同一個資源文件的同時寫操作
(4) 單例模式可以在系統設置全局的訪問點,優化和共享資源訪問,例如,可以設計一個單例類,負責所有數據表的映射處理。

缺點

(1) 單例模式一般沒有接口,擴展很困難,若要擴展,除了修改代碼基本上沒有第二種途徑可以實現。
(2) 單例對象如果持有Context,那么很容易引發內存泄漏,此時需要注意傳遞給單例對象的Context最好是Application Context。

Unity單例模式例子

GameManager腳本

using System; using UnityEngine; using UnityEngine.UI;public class GameManager : MonoBehaviour {private static GameManager _ins;public static GameManager Ins { get { return _ins; } }public int value;private void Start(){if (!_ins){_ins = this;}} }

其他腳本

using System; using UnityEngine; using UnityEngine.UI;public class Other : MonoBehaviour {private void Update(){GameManager.Ins.value++;//Anythings} }

總結

以上是生活随笔為你收集整理的Unity单例模式+例子的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。