步骤:1,使用cocostudio编辑器生成一个界面,并利用UI编辑器做UI动画
2,使用widgetFromJson,添加这个界面到场景中,并播放UI动画
3,使用getActionByName(),获取这个UI动画并retain
4,重复步骤2,3
5,在动画播放过程中,移除这些界面,并将UI动画release
6,崩了
解决方法:在release UI动画之前,调用动画的stop()
那么每次想销毁UI动画(ActionObject)之前,必须要先stop。为什么不能再ActionObject的析构里面调stop呢?
从ActionObject的使用者角度来看,既然都要释放动画了,肯定是不想这个动画继续播放了
从ActionObject本身来看,在播放过程中析构,这并不是一个违反常理输入,却会导致崩溃,那么就算是本身的缺陷
那么为什么不在析构函数里加上stop呢,就像Node在从显示列表里移除时,顺便停止动画一样。