Russian Qt Forum
Октябрь 17, 2017, 09:13 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: destroy() не освобождает память?  (Прочитано 2527 раз)
Slash
Новичок

Offline Offline

Сообщений: 1


Просмотр профиля
« Ответ #15 : Март 17, 2017, 17:29 »

Вот пример цикла в qml:
Код:
function allocateObject(parent) {
    var component = Qt.createComponent("TestComponent.qml");
    for(var i = 0 ; i < 30000 ; i++) {
        var object = component.createObject(parent);
        object.destroy()
    }
}

А сам TestComponent.qml
Код:
import QtQuick 2.7

Item {
    property string name: "item"
}

Вызов allocateObject съедает 40Mb памяти, которая по истечении времени так и не освободится. Повторный вызов съедает еще 13Mb. Тут для примера взят совсем примитивный компонент. В реальности компонент намного сложнее. И конечно не 30000 их создается.
И как же тогда быть с памятью?
Записан
andrew.k
Гуру общения
******
Offline Offline

Сообщений: 1564


*ерес - местный сумасшедший


Просмотр профиля
« Ответ #16 : Май 02, 2017, 23:16 »


Вызов allocateObject съедает 40Mb памяти, которая по истечении времени так и не освободится. Повторный вызов съедает еще 13Mb. Тут для примера взят совсем примитивный компонент. В реальности компонент намного сложнее. И конечно не 30000 их создается.
И как же тогда быть с памятью?

Objects are not destroyed the instant destroy() is called, but are cleaned up sometime between the end of that script block and the next frame (unless you specified a non-zero delay).
Может попробовать?
Код
C++ (Qt)
object.destroy(0);
Записан

"Вообще он что должен делать мне неясно и вотому что можно сделать тоже не могу." (С) Верес
twp
Программист
*****
Offline Offline

Сообщений: 595


Просмотр профиля
« Ответ #17 : Май 03, 2017, 15:40 »

Есть еще функция
Цитировать
gc() function: This function is specific to QML, and provides a way to manually trigger garbage collection
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  

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