UE4 - Почему TArray UObject собирается мусором? - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть некоторые проблемы с сборщиком мусора, но я не понимаю, почему?

У меня есть UObject с именем "WorldModel", созданный и сохраненный (указатель с UPROPERTY) в GameInstance.

В этом UObject "WorldModel" у меня есть массив объектов UObject с именем "WorldPlayerModel" (TArray) с макросом UPROPERTY.

Когда я загружаю новую карту, моя "WorldModel" все еще здесь, массив "WorldPlayerModel" тоже, но все объекты UObject внутри него уничтожаются сборщиком мусора и обнуляются.

Согласно документу мои объекты UObject не должны быть уничтожены, поэтому я не понимаю, почему?

Спасибо за помощь.

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Спасибо за ссылку.Я не совсем понимаю, почему он может работать с произвольным именем, но я нашел свою реальную проблему: объекты UObject в массиве были созданы с Outer, который был уничтожен во время загрузки новой карты ... Кажется, теперь все в порядке.

0 голосов
/ 15 февраля 2019

Странно ... Уже давно кто-то задавал тот же вопрос: https://answers.unrealengine.com/questions/410789/tarray-of-uobjects-getting-garbage-collected.html;Попробуйте назвать ваши объекты (хотя бы попробовать его решение, даже если это всего лишь обходной путь)

...