1:unity内存管理,基本上是自动管理,分为两个:堆内存,栈内存。
2:栈内存:主要存储小而短得数据。主要是一些值类型得数据,分配和回收很简单,快捷。
3:堆内存:主要存储大而时间长的数据,主要是引用类型数据。
4:堆内存分配步骤:
a:检查堆中分配单元是否足够,如果充足则直接分配,如果不够则执行b步骤。
b:检测到堆内存不足则出发gc释放内存(耗时),再次检查堆中分配单元是否足够,如果充足则直接分配,如果不够则执行c步骤。
c:扩大堆内存大小(非常耗时),再来分配内存。
5:堆内存回收方式有三种:
a:系统定期自动回收。
b:分配内存不足时处罚内存回收。
c:我们自己手动触发回收(执行:System.GC.Collect())。
网友评论