Моя в шоке, в том что касается выделения памяти!?

guestyy
Дата: 16.10.2005 13:37:23
пишу "5" строчное приложение


this.sqlConnection1.ConnectionString = "packet size=4096;" +
"data source=\"HOMER\";persist security info=False;" +"initial catalog=Northwind;User id=sa;Pwd=suvorov;";
this.sqlConnection1.Open(); здесь память возрастает на 15 мегов
//
// sqlCommand1
//
this.sqlCommand1.CommandText = "SELECT CompanyName FROM Customers";
this.sqlCommand1.Connection = this.sqlConnection1;
sqldr = sqlCommand1.ExecuteReader(); здесь память возрастает на ~1 мег

sqldr.Close(); память не уменьшается -- почему????
sqldr = null; память не уменьшается -- почему????

sqlConnection1.Close(); память не уменьшается -- почему????
sqlConnection1 = null ; память не уменьшается -- почему????

sqlCommand1.Dispose(); память не уменьшается -- почему????
sqlCommand1 = null; память не уменьшается -- почему????
1024
Дата: 17.10.2005 09:29:08

это называется "сборка мусора". Она от твоего кода не зависит


Posted via ActualForum NNTP Server 1.3

Old Nick
Дата: 27.10.2005 11:37:37
А Dispose не пробовали?
1024
Дата: 27.10.2005 13:55:54

dispose это указание сборщику что ресурсы можно освобождать. Не факт что он
тут же бросится это делать


Posted via ActualForum NNTP Server 1.3

VladiCh
Дата: 27.10.2005 14:39:54
Чтобы он сразу бросился это делать, надо вызвать GC.Collect();
viper
Дата: 08.11.2005 22:21:40
А какой смысл? Пусть лучше сборщик сам решит когда прибратся, а так возможно ты освободиш память по минимуму зато потеряеш процессорное время на внештатную работу сборщика. Как по мне вмешиваться в этот процесс надо когда это действительно необходимо.
_________________________________________________
Легче написать не правильную программу чем понять правильную (С) Alan Perlis
Volj
Дата: 11.11.2005 13:03:24
действительно, не парься насчет памяти. Просто примирись с тем, что веб-приложение никогда не займет меньше 50 метров ;)
Сборщик памяти в NET действительно хорош, и GC.Collect вызывать не следует, особенно в Web-приложениях (если не хочешь, чтобы твоя прога существенно тормознула сервак).