ImageList 内存占用过高的问题。求高人解答!

问题描述

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;namespace相册片头自动生成器{publicpartialclassForm1:Form{publicstaticinti=0;publicstring[]picArr=null;publicForm1(){CheckForIllegalCrossThreadCalls=false;InitializeComponent();}privatevoidOPENfile_Click(objectsender,EventArgse){ChooseFileDialog.ShowDialog();}privatevoidChooseFileDialog_FileOk(objectsender,CancelEventArgse){i=0;picArr=null;picArr=ChooseFileDialog.FileNames;listView1.Items.Clear();pic.Dispose();progressBar1.Maximum=picArr.Length;this.progressBar1.Value=0;backgroundWorkerOpenfile.RunWorkerAsync();}privatevoidbackgroundWorkerOpenfile_DoWork(objectsender,DoWorkEventArgse){openfile();}privatevoidbackgroundWorkerOpenfile_RunWorkerCompleted(objectsender,RunWorkerCompletedEventArgse){backgroundWorkerOpenfile.Dispose();}privatevoidForm1_FormClosed(objectsender,FormClosedEventArgse){Application.Exit();}privatevoidbackgroundWorkerOpenfile_ProgressChanged_1(objectsender,ProgressChangedEventArgse){this.progressBar1.Value++;}privatevoidopenfile(){if(i<picArr.Length){pic.Images.Add(Image.FromFile(picArr[i]));pic.ImageSize=newSize(144,80);listView1.LargeImageList=pic;ListViewItemlvi=newListViewItem();lvi.ImageIndex=i;this.listView1.Items.Add(picArr[i],i);this.progressBar1.Value++;GC.Collect();}else{return;}i++;openfile();}}}代码如上,打开24张图片之后,1G内存就没有了。

解决方案

时间: 2024-05-07 11:28:09

ImageList 内存占用过高的问题。求高人解答!的相关文章

Mysql5.6启动内存占用过高解决方案_Mysql

vps的内存为512M,安装好nginx,php等启动起来,mysql死活启动不起来看了日志只看到对应pid被结束了,后跟踪看发现是内存不足被killed; 调整my.cnf 参数,重新配置(系统默认配置太高直接占用400M内存,小玩家玩不起呢)即可 performance_schema_max_table_instances=200 table_definition_cache=200 table_open_cache=128 下面附一个相关的my.cnf配置文件的说明 [client] po

Win7系统下svchost.exe内存占用过高的处理方法

  Win7系统下svchost.exe内存占用过高的处理方法 1.在我的电脑上点击鼠标右键,选择[管理]; 2.选择右侧[服务和应用程序]下的[服务]选项; 3.找到名称我Superfetch的服务,双击鼠标左键; 4.选择启动类型为[手动]方式,点击[确定]按钮,完成设置; 5.重新启动电脑后,进入任务管理器查看svchost.exe进程的情况,此时可以看到占用的内存和CPU资源已经大幅度降低了.

cpu-mysql锁表会导致CPU占用很高么,求答案,。。。。。。。。

问题描述 mysql锁表会导致CPU占用很高么,求答案,........ 今天发布的项目锁表了,导致后面CPU超高,是锁表的原因么...... 解决方案 你这样子问,很难回答,只能说有可能

mfc-新作的MFC release项目出现闪退现象,求高人解答!!!

问题描述 新作的MFC release项目出现闪退现象,求高人解答!!! 忘了说,debug和release的exe都会有这样的问题,但是在VS平台下打开没问题我打开弄好的exe后, 出来一个小窗口, 对话框吧,很快就闪退了.能看到里面有 正在试图恢复你的信息 可能要等几分钟的时间 的字样,原来的debug的exe也一样,但是在VS2013下 运作完全没问题,求大神们解析一下,万分感谢 这是我尝试了十多次终于截到的图片 忘了说,debug和release的exe都会有这样的问题,但是在VS平台下

JBoss本机IP识别问题求高人解答

问题描述 在oracle-ds.xml中<connection-url>jdbc:oracle:thin:@localhost:orcl</connection-url>运行jboss时链接不到oracle把localhost换成本机IP就可以了所以没有网络的时候就不能跑程序了注:单机的时候把IP换成192.168.0.1或127.0.0.1都不行求高人解答 解决方案 解决方案二:在线等了

c#-C# 反射 方法 带参数是(委托型)求 高人解答

问题描述 C# 反射 方法 带参数是(委托型)求 高人解答 C# 反射 方法 带参数是(委托型) 方法 (委托 ) { 委托1= 委托 } 解决方案 object[] obj= new object [] { Messagecallback};//Messagecallback() 是写的一个方法 与委托 定义参数一样 return t.InvokeMember(name, BindingFlags.InvokeMethod | BindingFlags.Public | BindingFlag

服务器内存占用过高如何解决?

a. 首先通过http://www.aliyun.com/zixun/aggregation/11435.html">任务管理器进行进程排序,查找占用内存较大的程序进程.一般占用内存较大的进程有W3WP.sqlserver.mysqld-nt.exe b. 站点进程w3wp 可以在cmd命令行中通过 iisapp 命令来对应是那个网站占用内存较大.可以通过设置回收时间.内存最大使用值或共用进程池来减少内存的占用,但是如果要保证网站的访问质量,还是建议升级至更高型号来解决. c. 数据库 s

重装win8系统内存占用忽高忽低的解决方法

  很多win8用户在使用一段时间后,系统就会变得特别的卡顿,故此很多用户都会选择对win8系统重装,但同样问题有来了,用户在重装win8系统后,出现内存不稳定,忽高忽低的问题,对于出现该问题是什么原因造成的?我们应用如何解决呢?下面看河东软件园小编为您带来的详细操作方法! 情况1: Win8系统,任何一款操作系统在运行时,电脑内存使用率都会出现时高时低的情况.应用程序等开的多了,占用的内存空间多了,内存自然就高.相反,程序使用的少了,内存自然就低了.同时,应用程序在运行过程中对内存的占用率也是

WinXP系统内存占用过高怎么办?

  1.首先,我们怎么来判断内存使用率过高?根据一些软件的评判标准来看,一个是看CPU使用率.如果CPU使用率大于15%的话,一般这种情况引起的内存使用率上升属于正常情况. 然而还有一个问题,CPU的使用率会有瞬间的跳变的问题.我们要以持续一段时间为衡量的标准. 2.所以最好的一个判断内存使用率过高的标准是看看系统的反应.如果明显感觉系统变慢的话,说明内存的问题.如果系统速度各方面一切正常,那么完全不用关心内存或者CPU的使用率了. 3.好了.大家都知道在任务管理器里可以看到全部这些信息了吧?如