在搞一个缩略图的时候,就出现这个问题了!到网上也查了一下,说对象要及时清除,不然还是会占用内存的,即使有内存回收机制!于是我一个一个的对象查看,用好的对象都给dispose掉了,不过还是不行啊!稍微小点的图片打的开,不过才800多K的图片就打不开了!有没有遇到过这种情况啊,怎么解决的?

解决方案 »

  1.   

    代码如下:        /// <summary>
            /// 生成缩略图并显示
            /// </summary>
            /// <param name="path">要缩略的图片地址</param>
            /// <param name="Form">传过来的主窗口,用来应用picturebox控件</param>
            private static void ZoomOutShow(string path,Form form1)
            {
                //定义的picturebox控件数组,用来显示缩略图
                picture[n] = new PictureBox();    //n是正在查看的图片的序号,所有的图片路径已经                        
                                                  //放在循环链表中了            picture[n].SizeMode = PictureBoxSizeMode.StretchImage;       //设置显示的模式
                picture[n].Image = Image.FromFile(path);
                picture[n].Width = 40;
                picture[n].Height = 50;
                picture[n].Left = 45*(n +1);            //图片的高度不变,宽度依次增大
                picture[n].Top = Screen.PrimaryScreen.WorkingArea.Height - 65;
                form1.Controls.Add(picture[n]);         //将图片加到picturebox控件中去
            }
      

  2.   

    以前用.net 1.1开发的时候做缩略图也曾出现过楼主所说的情况
    但是偶发事件,程序要跑若干小时后才可能发生后来升级到2.0以后就没出现过..
      

  3.   

    picture[n]
    关键在这个n有多大.