我有一個C#中的應用程序,它不應該保留太多的內存。可執行文件是〜100Kb,整個應用程序有幾千行代碼。
它是主要組件,有一個計時器負責創建事件(具有幾個屬性的類的實例)並將它們發送到此http://timeline.codeplex.com/。時間線接受事件的方式是調用ResetEvents函數並傳遞事件列表。因爲我有一個計時器,所以我把它放在計時器的代碼中。
像這樣運行它,應用程序達到300Mb的內存,我只是結束它,以避免崩潰。如果我從計時器中刪除了ResetEvents的調用,那麼應用程序運行更平穩,消耗60-70Mb。沒有時間線的應用程序應該運行在10-20Mb。沒有任何圖形或任何可能比這更多的東西。我的猜測是,時間軸上可能有些問題。在C#中的應用程序的內存問題Windows窗體
編輯:
下面的代碼的一部分:
List<TimelineEvent> events = new List<TimelineEvent>();
...
內部定時器
TimelineLibrary.TimelineEvent newevent = new TimelineLibrary.TimelineEvent();
...
newevent.StartDate = starttime;
newevent.EndDate = endtime;
newevent.Id = id;
newevent.Title = title;
newevent.Description = description;
newevent.Link = url;
newevent.EventColor = color;
events.Add(newevent);
timeline.ResetEvents(events);
...
此代碼是在時間內河我只是創建一個TimelineEvent,將它添加到列表並調用ResetEvents。刪除最後一行,不會導致內存問題。
你的問題是什麼? – Cheeso 2011-05-22 17:17:30
聽起來像你應該發佈一些代碼,也聽起來像你有一個manged泄漏... – Stormenet 2011-05-22 17:18:34
1.任何線索有什麼不對? 2.是否確定時間表有問題,還是有其他事情發生?3.使用該時間表的人,是否遇到過類似的問題? – user579674 2011-05-22 17:20:23