Russian Qt Forum
Ноябрь 25, 2024, 01:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: QObject утечка памяти  (Прочитано 13211 раз)
Маус
Гость
« Ответ #15 : Январь 12, 2013, 18:39 »

утечка идет не в момент присваивания значения, а при вызове метода, который это делает. Такое ощущение, что память каждый раз распределяется заново.
Записан
Bepec
Гость
« Ответ #16 : Январь 12, 2013, 18:51 »

Мб у вас там идёт динамическое создание этого класса каждый раз?
Записан
Маус
Гость
« Ответ #17 : Январь 12, 2013, 19:52 »

Нет, экземпляр класса
CMyItem* MyItem;
создается только 1 раз при инициализации CMyBase, затем идет только добавление/изменение элементов в списке list.

П.С. QObject убрал, проблема осталась. Объем занимаемой программой памяти увеличился с 756 мб до 1256 мб.;-)
« Последнее редактирование: Январь 12, 2013, 20:58 от Маус » Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #18 : Январь 12, 2013, 19:59 »

Нет, экземпляр класса
CMyItem* MyItem;
создается только 1 раз при инициализации CMyBase, затем идет только добавление/изменение элементов в списке list.
Вот и показал бы, как инициализируется CMyBase и list.
Записан
Маус
Гость
« Ответ #19 : Январь 12, 2013, 20:58 »

Смастерил 2 примера, один с QObject, другой - без, по созданию/изменению 1 млн. объектов, память занимают 223 мб и 74 мб соответственно, но проблему (на примере) пока не увидел. Буду копать дальше
Записан
Маус
Гость
« Ответ #20 : Январь 13, 2013, 00:07 »

Нашел ответ... Проблема крылась в другом объекте, который вызывался и потреблял память. В общем никакой утечки памяти нет.
Всем откликнувшимся спасибо, без участия сообщества я бы так быстро не разобрался;-).
(Тему можно удалить;-)
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #21 : Январь 13, 2013, 00:18 »

но наследование от QObject лучше все-таки убери
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Маус
Гость
« Ответ #22 : Январь 13, 2013, 10:44 »

QObject конечно убрал Улыбающийся
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #23 : Январь 14, 2013, 10:42 »

(Тему можно удалить;-)
Я бы не удалял, а наоборот, всячески "пропагандировал" как пример правильного перехода от поиска пылинки в чужом глазе к нахождению бревна в своём. Ну и как пример грамотного понимания топикстратера выдаваемых ему советов.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.288 секунд. Запросов: 23.