Есть вот такой код:
//------------------
ID=199;
for(int i=0;ID<206;i++,ID++)
{
m_parBmp[i]=new CBitmap();
m_parBmp[i]=GetSkin().LoadCBitmap(MAKEINTRESOURCE(ID));
}
MessageBox("loaded");
ID=199;
for(int i=0;ID<206;i++,ID++)
{
delete m_parBmp[i];
}
MessageBox("Unloaded");
//--------------------------
В это время смотрел на использование памяти приложением, получается вот что:
— Пока мы не загрузили эти битмапки память под приложение находится на каком-то уровне скажем 1200 кб и кол-во GDI обьектов скажем 150
— после работы куска этого кода до первого месседж бокса — после его появления кол-во GDI обьектов увеличивается и выделяемая память соотв. тоже — стает 2000 кб и 158 GDI обьектов
После появления второго мессаджбокса смотрим.. и видим что кол-во GDI обьектов приняло старое значение — 150 а кол-во памяти не поменялось — осталось 2000 кб и в течении 20 мин не выгружалась!
Вопрос: как сделать так чтоб выгрузить всё-таки из памяти приложения эти ресурсы если они не используются???
31.01.07 18:26: Перенесено модератором из 'C/C++' — Кодт