Я обнаружил проблему в своем приложении: наличие сцен S1 и S2 и менеджера M;из S1 я могу построить и переключиться на S2, а из S2 - S1 (через менеджера).
Каждый раз, когда я переключаюсь между сценами, я хочу удалить одну из них.
Но яобнаружил, что если я переключаюсь между сценами, обе сцены сохраняются в памяти и после многих переключателей происходит сбой приложения.
некоторый псевдокод:
Менеджер:
void build(Scene s){
getEngine().setScene(s);
}
onLoadScene{
M.build(S1);
}
S1:
onButtonClick{
M.build(S2);
}
S2:
onButtonClick{
M.build(S1);
}
Поскольку я думаю, что при сборке S1 связь с S2 исчезает, а при сборке S2 S1 исчезает, и GC приходится очищать ее, если памяти недостаточно.
Как избежать сбоев приложения?
Большое спасибо.