[редактировать]
в статическом классе myWork,
public static class myWork()
{
public static SomeWPFCollectionType myGenerate()
{
SomeWPFCollectionType myGenerated=new SomeWPFType();
List<SomeType> myLists=new List<SomeWPFType>();
for(int i=0 ; i < someCount ; i++)
{
myLists.Add(new SomeType(...););
}
myGenerated = SomeTypeToSomeWPFCollection(myGenerated);
return myGenerated;
}
}
....
public partial class MainWindow : Window
{
...
private void btn1_Click(...)
{
this.someControl.someCollection = myWork.myGenerate();
}
}
- во сколько очищается память myLists?
- во сколько очищается память myGenerated?
когда в первый раз, я ожидал, когда я вызову btn1_click.
но отчет диспетчера задач Windows, по-видимому, утечка памяти.
-edited-
Не думаю, что в моем коде не было утечки в списках myLists. потому что,
....
myGenerated.Unloaded += delegate(...)
{
//i breaked here and see a value of myList in the Watch window of VS.
Debug.write(myList.ToString());
}
myGenerated = SomeTypeToSomeWPFCollection(myGenerated);
return myGenerated;
....
когда myGenerated был выгружен, но в myList есть еще 15 элементов.