CocosCreator удалитьFromParent и уничтожить вещи

В чем разница между RemoveFromParent и Destroy?

RemoveFromParent заставляет узел отделиться от родительского узла и стать свободным узлом, не покидая память.

(В js понимается, что на него могут ссылаться в будущем, поэтому на данный момент он не будет перерабатываться, поэтому легко утечка памяти)

Он может принимать логический параметр, true означает очистку мониторинга событий и анимации на узле и т. д.

Обычно передайте false.

Destroy вызовет перехватчик жизненного цикла компонента onDestroy, чтобы освободить занятую память. Рекомендуется использовать уничтожение для уничтожения узлов.

RemoveFromParent используется в ядре cocos. Неправильное управление может привести к утечкам памяти.

Если вам интересно, вы можете взглянуть на исходный код cocoscreator для cc.NodePool. Он очень прост и понятен, содержит менее 100 строк.

https://github.com/cocos-creator/engine/blob/e5309dab411365467e076f59d9b7d7bb1c48926e/extensions/ccpool/CCNodePool.js

В put используется RemoveFromParent, а в Clear используется Destruct.Я думаю, каждый должен понять, что здесь происходит.

Вперед: удалитьFromParent и уничтожить вещи - Билибили

おすすめ

転載: blog.csdn.net/weixin_42565127/article/details/133989914