关于ios移植安卓问题

最近在搞移植安卓的cocos2dx项目。。。麻痹。。各种坑。。。、

现在最棘手的问题。。场景切换。。。CCDirector::sharedDirector()->replaceScene( pScene );。统一都用replaceScene切换场景。。可是问题出来了。。同样的一段代码在ios完全ok。。移植安卓。。卧槽。。

各种奔溃。。这种问题。。。有人遇到过吗。。。

我们场景都是单例创建出来的。。。而且我试过。要是用push的画安卓没事。可是ios又崩溃。。。卧槽。。。要疯了。。。

求移植的大神。。给点方案。。

我们一般也是用 replaceScene( pScene ),ios和Android都ok。请问你使用的是哪个版本?

cocos2dx v2.2

我在2.2里面测试这样一个例子。
类都是这样的。
class Layer1 : public cocos2d::CCLayer
{
public:
int count;
CREATE_FUNC(Layer1);
virtual bool init();
static cocos2d::CCScene* scene();
void menuCloseCallback(CCObject* pSender);
void update(float delta);
void changeScene();
};

改变场景是这样:
void Layer1::changeScene()
{
CCLog(“change to 2.”);
CCDirector* pDirector = CCDirector::sharedDirector();
CCScene* scene = Layer2::scene();
pDirector->replaceScene(scene);
}

ios和Android的均ok。
不知道有什么地方,咱们使用方法不同。

// cpp…
LevelMapScene::LevelMapScene()
{
}

LevelMapScene::~LevelMapScene()
{

}

LevelMapScene* LevelMapScene::s_gSharedGameScene = NULL;

LevelMapScene* LevelMapScene::sharedGameScene(void)
{
if (!s_gSharedGameScene)
{
s_gSharedGameScene = new LevelMapScene();
if (s_gSharedGameScene && s_gSharedGameScene->init())
{
return s_gSharedGameScene;
}
}
return s_gSharedGameScene;

}