码迷,mamicode.com
首页 > 编程语言 > 详细

foreach为什么在unity不建议用

时间:2016-08-04 19:05:44      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:

首先看片文章
里面有张图
技术分享

 

这里解释了在每个foreach循环之后会有一个boxing的过程,什么是boxing?(详细看这里:http://www.cnblogs.com/xiaoshi/archive/2008/05/28/1208902.html
 
简单来说就是把值类型转换成引用类型。
技术分享
这里的第二行就是boxing过程
第三行就是unboxing过程
 
也就是说每次使用foreach会在结束的时候在堆上申请一段引用内存(40Bytes,对list的引用)
 
而引用内存多了后会在GCCollect时候回收。
回收的过程会卡。
 
所以unity不要用foreach的原因是,会产生垃圾内存,导致卡顿

foreach为什么在unity不建议用

标签:

原文地址:http://www.cnblogs.com/chrisfxs/p/5737811.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!