Android 骨骼动画和粒子效果共用闪退的问题

android大份机型使用 骨骼动画异步加载时调用粒子效果会闪退(ios和pc,少部分android机上不会)

就是先异步加载
CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfoAsync(…);
然后再调用粒子效果
CCParticleSystemQuad * psq = CCParticleSystemQuad::create(…);

错误信息如下:

02-11 16:31:09.348: D/cocos2d-x debug info(17828): Get data from file(assets/effects/UIGX1006.plist) failed!
02-11 16:31:09.348: D/cocos2d-x debug info(17828): Get data from file(assets/effects/cjdh1002.ExportJson) failed!
02-11 16:31:09.348: D/cocos2d-x debug info(17828): GetParseError Text only contains white space(s)
02-11 16:31:09.348: D/cocos2d-x debug info(17828): Assert failed: Particles: file not found
02-11 16:31:09.348: E/cocos2d-x assert(17828): D:\SDK\cocos2d-x-2.2.5/cocos2dx/particle_nodes/CCParticleSystem.cpp function:initWithFile line:174

请问大家遇见过吗?
有没有什么解决方法?

自顶!!!!

没有人遇见过这个问题吗???:904:

求关注:883:

哎…问题自己解决了…

楼主怎么解决的,我也遇到了,求解救办法??

用线程锁,建议你别用这个了,深坑

不好意思。没看到这个问题。

我会重现下给您答复~。

没遇到过这个问题 等看7楼重现下给你的答复:14::14:

测试了下3.4和2.2.5的两个版本都无法重现。这是我的测试例…楼主可以试试。是否是由于异步未加载完而主线程使用了这个骨骼动画?

话说TestCpp里面的例子也是异步完调粒子的…楼主先试试看,如果还出现这个Bug的话,麻烦告知下机型。顺便提供个重现Demo

我用你给我的例子也会崩溃,我的设备是 nexus7 三星note3
你可以试试看

你也可以用这个资源来试试看

错误日志:

02-28 14:30:15.437: D/cocos2d-x debug info(4721): Get data from file(assets/SmallSun.plist) failed!
02-28 14:30:15.437: D/cocos2d-x debug info(4721): Get data from file(assets/robot.xml) failed!
02-28 14:30:15.437: D/cocos2d-x debug info(4721): Assert failed: XML error or XML is empty.
02-28 14:30:15.437: E/cocos2d-x assert(4721): D:\SDK\cocos2d-x-2.2.5/extensions/CocoStudio/Armature/utils/CCDataReaderHelper.cpp function:addDataFromCache line:619
02-28 14:30:15.437: A/libc(4721): Fatal signal 11 (SIGSEGV) at 0x00000030 (code=1), thread 4755 (Thread-307)
02-28 14:30:15.437: D/cocos2d-x debug info(4721): Assert failed: Particles: file not found
02-28 14:30:15.437: E/cocos2d-x assert(4721): D:\SDK\cocos2d-x-2.2.5/cocos2dx/particle_nodes/CCParticleSystem.cpp function:initWithFile line:174
02-28 14:30:15.437: A/libc(4721): Fatal signal 11 (SIGSEGV) at 0x00000018 (code=1), thread 4747 (Thread-307)