none
silverlight中MemoryStream内存释放问题? RRS feed

  • 问题

  •           using (MemoryStream ms = new MemoryStream())
                {
                   
    using (StreamWriter writer = new StreamWriter(ms))
                    {
                       
    int count = 1024 * 1024 * 40;
                       
    char[] str = new char[count];
                       
                       
    while (count-- > 0)
                            str[count]
    = '*';

                        writer.Write(str);
                        writer.Flush();
                    }
                }

    使用这个代码操作完后,为什么内存不减呢?这段代码有什么问题?

    2012年6月20日 9:17

答案

  • 您好,

    请问我这边测试了一下结果是这样的,

    执行之前:   250336

    刚刚执行完:151246380

    执行之后:   252164

    执行之后是无法完全释放所使用的内存的,所以稍有增加也是正常的。

    • 已标记为答案 Shi Ding 2012年6月28日 17:14
    2012年6月22日 3:09

全部回复

  • 内存是自动管理的,在“适当的时机”系统会自动回收,除非你依然在使用这个对象

    它是如何个“适当“法,好像未见报道

    silverlight内存感觉管理还是蛮好的,几百M几百M数据往内存里读,我们的845老奔4也未见崩溃过,所以一般不去担心

    2012年6月21日 4:00
  • 您好,

    请问我这边测试了一下结果是这样的,

    执行之前:   250336

    刚刚执行完:151246380

    执行之后:   252164

    执行之后是无法完全释放所使用的内存的,所以稍有增加也是正常的。

    • 已标记为答案 Shi Ding 2012年6月28日 17:14
    2012年6月22日 3:09