沉舟侧畔千帆进,病树前头万木春。这篇文章主要讲述#yyds干货盘点# 100个 Unity小知识点 | Unity中常用的几种单例写法相关的知识,希望能为你提供帮助。
Unity 小科普老规矩,先介绍一下 Unity 的科普小知识:
- Unity是 实时3D互动内容创作和运营平台 。
- 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。
- Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
- 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏!
单例模式优点
- 单例模式核心在于对于某个单例类,在系统中同时只存在唯一一个实例,并且该实例容易被外界所访问;
- 意味着在内存中,只存在一个实例,减少了内存开销;
第一种:在Unity中最普通的单例写法,在Awake中获取,使用的时候直接调用即可
public static Singletoninstance;
private void Awake()
{
instance = this;
}
第二种:持久化的写法,第一种的拓展,这种方法相比较第一种更可靠。在找不到单例方法时新建一个物体防止被销毁,然后接着调用即可
private static Singleton instance;
private void Awake()
{
instance = this;
}
public static Singleton GetInstance
{
if(instance==null)
{
GameObject go = new GameObject("Singleton");
// 创建一个新的GameObject
DontDestroyOnLoad(go);
// 防止被销毁
_instance = go.AddComponent<
Singleton>
();
// 将实例挂载到GameObject上
}
return instance;
}
第三种:可以不用挂载到场景中(),使用的时候直接调用
private static Singletoninstance;
public static SingletonGetInstance()
{
if(instance==null)
{
instance =new Singleton ();
}
return instance;
}
推荐阅读
- 单例模式 --- 生产环境怎么写#yyds干货盘点#
- KAFKA最新版 3.0.0集群部署测试
- 深度残差网络的无人机多目标识别
- 2021 必须掌握的 21 个 Java 核心技术
- 万字详解 Spark 数据倾斜及解决方案
- Redis | 第8章 发布订阅与事务《Redis设计与实现》#yyds干货盘点#
- 鸿蒙轻内核A核源码分析系列五 虚实映射基础概念
- Go语言学习查缺补漏ing Day3
- 虚拟机centos7无法正常启动(XFS (vda3): Corruption of in-memory data detected. Shutting doum filesystem)