连续显示jpg图像的问题

Johnnyxy 2005-05-19 03:12:29
首先我得到了个字符串数组fileNames,里面是jpg图像文件名。
我想在窗体上连续显示这些图片,我使用了线程,但是我发现我得程序严重浪费内存资源,内存暂用率不断上升,不知道是什么原因,请大家帮我看看:
if(fileNames != null)
{
Thread showPic = new Thread(new ThreadStart(ShowCartoon));
showPic.Start();
}

private void ShowCartoon()
{
while(true)
{

foreach(string fileName in fileNames)
{
panel1.BackgroundImage = Image.FromFile(fileName);
Thread.Sleep(100);
}
}
}

我就搞不懂是哪里在浪费资源~~~
...全文
167 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Johnnyxy 2005-05-19
  • 打赏
  • 举报
回复
JasonHeung(拥有一切也只不过这样笑着哭) ( )

有道理,装入内存流可以吧~
JasonHeung 2005-05-19
  • 打赏
  • 举报
回复
foreach(string fileName in fileNames)
{
panel1.BackgroundImage = Image.FromFile(fileName);
Thread.Sleep(100);
}
你先在线程外面将图片装入内存,放到一个图片数组中。
线程内只切换显示,而不是重复装入图片。
Johnnyxy 2005-05-19
  • 打赏
  • 举报
回复
晕,没有停占用内存会一直上升阿???
那网络编程就更不用说了

好像不能用timer,因为我的几幅图显示时间间隔要可变的,那图多了我怎么动态添加阿,还是药用线程的
ivorstar 2005-05-19
  • 打赏
  • 举报
回复
LoveMango(幻风)我写的Socket通信的线程也没停,但是CPU占用率基本不到5%。
Johnnyxy 2005-05-19
  • 打赏
  • 举报
回复
就是一般的应用程序,用timer阿,会不会还有这个问题哦,我试一下~
ivorstar 2005-05-19
  • 打赏
  • 举报
回复
顶下,看不出哪里有问题,我也写过这样的线程,没什么问题。
LoveMango 2005-05-19
  • 打赏
  • 举报
回复
你写的线程从来都没停过,那怎么能不浪费资源呢???
贝贝壳壳 2005-05-19
  • 打赏
  • 举报
回复
WinForm还是WebForm?webform的话应该用脚本,
WinForm的话用Timer就可以了。
Johnnyxy 2005-05-19
  • 打赏
  • 举报
回复
顶一下~~~

110,526

社区成员

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

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

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