Есть у меня некоторый класс, который постоянно слушает поток.
Заметил такую штуку — размер употребляемой памяти растет постоянно.
Вроде все объекты объявлены локально (в функции и такие как string, byte и т.д.).
После работы с ними я делаю им
= nill;
GC.Collect();
Но память как росла, так и растет. Оставил на сутки, так к утру прога занимала 300 мег.
Здравствуйте, Kum, Вы писали:
Kum>Есть у меня некоторый класс, который постоянно слушает поток. Kum>Заметил такую штуку — размер употребляемой памяти растет постоянно. Kum>Вроде все объекты объявлены локально (в функции и такие как string, byte и т.д.). Kum>После работы с ними я делаю им Kum>
Kum>= nill;
Kum>GC.Collect();
Kum>
Kum>Но память как росла, так и растет. Оставил на сутки, так к утру прога занимала 300 мег.
попробуй не делать null а сразу вызывать GC.SuppressFinalize(obj);
X>попробуй не делать null а сразу вызывать GC.SuppressFinalize(obj);
а смысл ...у обьекта при сборе мусора не будет вызван деструктор ..чем ему это поможет ?
> После работы с ними я делаю им > = nill; > GC.Collect();
Во-первых, GC.Collect вызывать нельзя.
Во-вторых, объекты нельзя удалять, нет такого способа.
В-третьих, если программа не тормозит, то на память внимания не обращай.
И в-четвёртых, что твоя программа делает?
Ми.
Posted via RSDN NNTP Server 1.9
Re[3]: Как удалять объекты???
От:
Аноним
Дата:
10.06.05 14:56
Оценка:
Здравствуйте, DanNsk, Вы писали:
X>>попробуй не делать null а сразу вызывать GC.SuppressFinalize(obj); DN>а смысл ...у обьекта при сборе мусора не будет вызван деструктор ..чем ему это поможет ?
Смысл в следующем: в одном из деструкторов у тебя возможна ошибка, приводящая к вечному циклу или другого рода подвисанию потока сборщика мусора. Сделав как тебе сказали и увидев, что память не растёт, ты поймёшь, не подвис ли где GC у тебя.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, DanNsk, Вы писали:
X>>>попробуй не делать null а сразу вызывать GC.SuppressFinalize(obj); DN>>а смысл ...у обьекта при сборе мусора не будет вызван деструктор ..чем ему это поможет ?
А>Смысл в следующем: в одном из деструкторов у тебя возможна ошибка, приводящая к вечному циклу или другого рода подвисанию потока сборщика мусора. Сделав как тебе сказали и увидев, что память не растёт, ты поймёшь, не подвис ли где GC у тебя.
А>Да, а ты не используешь сокеты случайно?