【小松教你手游开发】【unity实用技能】foreach为什么在unity不建议用

在Unity中不推荐使用foreach的主要原因是其涉及boxing和unboxing过程,可能导致性能下降和内存垃圾积累。每次循环结束时,会在堆上分配引用内存,最终在GC收集时造成卡顿。因此,为了优化游戏性能,开发者应谨慎使用foreach。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先看片文章
里面有张图
这里解释了在每个foreach循环之后会有一个boxing的过程,什么是boxing?(详细看这里: http://www.cnblogs.com/xiaoshi/archive/2008/05/28/1208902.html

简单来说就是把值类型转换成引用类型。
这里的第二行就是boxing过程
第三行就是unboxing过程

也就是说每次使用foreach会在结束的时候在堆上申请一段引用内存(40Bytes,对list的引用)

而引用内存多了后会在GCCollect时候回收。
回收的过程会卡。

所以unity不要用foreach的原因是,会产生垃圾内存,导致卡顿
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值