Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Аноним, Вы писали:
А>>В том то и дело что я проверял: ~80 метров.
А>Фиг знает что ты проверял.
А>Без когда ты можешь утверждать все что угодно.
А>Все равно никто не проверит.
А>Но вот мой опыт твое утверждение не подтверждает.
Хорошо без проблем, простейший пример
#include <QtGui>
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QMainWindow w;
w.showMaximized();
for(int a=0;a<10;a++)
{
QDialog *p = new QDialog(&w);
p->setAttribute(Qt::WA_DeleteOnClose);
p->showMaximized();
}
return a.exec();
}
Используемый объем памяти:
Если конец цикла = 0 (создается только QMainWindow) ~11 мб,
Если конец цикла = 1 ~16мб
Если конец цикла = 10 ~58 мб.
(Все компилировал в релизе)
По-моему очевиден прирост на каждое полноэкранное диалоговое окно по 5 мб, что подтверждает вышеприведенную формулу.
Хорошо, пример слишком прост и ничего общего с реальны приложением не имеет.
Тогда попробуйте открыть browser из демок.
Далее History/show all history (+2мб)
Растянуть окно на весь экран (еще +4 мб)
А теперь закройте окно и объем используемой памяти не изменится!!!!
Если повторять эту последовательность несколько раз можно легко довести разход памяти до 100