void ActionManagerTest::restartCallback(Ref* sender)
{
auto s = new (std::nothrow) ActionManagerTestScene();
s->addChild(restartActionManagerAction());
Director::getInstance()->replaceScene(s);
s->release();
}
切换完成后自动release
replaceScene(即不适用动画效果)可以轻松的完成场景的切换,释放掉旧的场景,加载新场景,几乎不需要时间的过渡,瞬间完成
切换全屏场景的时候最好使用replaceScene而不是pushScene。
因为pushScene并不会销毁前一个scene,仅仅是将后一个scene按照堆栈的方式加入到前一个scene的上面。如果自身代码中内存管理写的不好的,利用pushScene很难发现该方面的问题,一旦崩溃定位都很难定位。replaceScene可以及早的将隐含的问题给暴露出来。
时间: 2024-08-10 10:26:16