内存优化

leebo123 2008-11-26 09:05:22
有两个小问题
1 字段变量(这个字段只在一个方法中使用)和 在方法里申明一个局部变量 这个类的生成的对象比较多 每次生成的对象都会调用那个方法的情况下 哪个占用内存比较大,为什么
2 for循环中 直接调用数组 和先声明一个变量然后再把数组赋值给变量 比较 哪个占用内存比较高 循环中多次调用数组
...全文
83 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
exe600 2010-05-17
  • 打赏
  • 举报
回复
设计到内存的东西我就头大
  • 打赏
  • 举报
回复
1、用字段肯定占内存,用局部变量只有调用方法的时候分配内存;
2、申明变量指向数组,和直接使用数组是一样的。
  • 打赏
  • 举报
回复
1、局部变量是不占内存的,只有在调用方法的时候才会分配内存,方法调用完,如果是值类型就释放掉了,如果是引用类型,则到时会被垃圾回收器回收掉;
2、数组是引用类型,申明变量指向它,只是产生一个引用而已。
net5i 2008-11-26
  • 打赏
  • 举报
回复
第二个,如果数组是值类型的,那么内存占用,肯定是新建一个数组大一些,否则对于引用类型都是一样的
Old_Mouse 2008-11-26
  • 打赏
  • 举报
回复
UP下。不是很清楚。
net5i 2008-11-26
  • 打赏
  • 举报
回复
第一个,内存占用感觉是一样的,因为
类成员变量:private string m_text = null;
虽然,每次只操作这一个变量,但是每次对他赋新值时,之前的字符串,.NET并不会马上释放的

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧