android memory issue

Hi,

I made a game on IOS with cocos2d-x 0.13.beta.

It works very well.

now, I’m porting the game on android.

But it’s totally unstable, I mean, the app crash after a while for different reason and same things on different devices.

After a lot of test, I guess it’s a memory issue, garbage collector or something like this.

some examples :

* Crash dump:*
Build fingerprint: ‘lge/lge_bprj/lgp970/lgp970:2.2.2/FRG83G/LG-P970-V11c.41FDA645:user/release-keys’
pid: 16988, tid: 17005 >>> com.big5media.callofdata <<<
signal 11 (SIGSEGV), fault addr 00000000
Stack frame #00 pc 0013e224 /data/data/com.big5media.callofdata/lib/libgame.so: Routine ccArrayGetIndexOfObject in …/libs//cocos2dx/support/data_support/ccCArray.h:141
Stack frame #01 pc 0011b48e /data/data/com.big5media.callofdata/lib/libgame.so: Routine removeChild in …/libs//cocos2dx/base_nodes/CCNode.cpp:650
Stack frame #02 pc 000b00be /data/data/com.big5media.callofdata/lib/libgame.so: Routine refreshCloud in jni/…/…/Classes/gameScene.cpp:37
Stack frame #03 pc 000b036e /data/data/com.big5media.callofdata/lib/libgame.so: Routine draw in jni/…/…/Classes/gameScene.cpp:287
Stack frame #04 pc 0011b28a /data/data/com.big5media.callofdata/lib/libgame.so: Routine visit in …/libs//cocos2dx/base_nodes/CCNode.cpp:815
Stack frame #05 pc 0011b2b8 /data/data/com.big5media.callofdata/lib/libgame.so: Routine visit in …/libs//cocos2dx/base_nodes/CCNode.cpp:826
Stack frame #06 pc 0011e3f2 /data/data/com.big5media.callofdata/lib/libgame.so: Routine drawScene in …/libs//cocos2dx/CCDirector.cpp:206
Stack frame #07 pc 0011e470 /data/data/com.big5media.callofdata/lib/libgame.so: Routine mainLoop in …/libs//cocos2dx/CCDirector.cpp:943
Stack frame #08 pc 00138166 /data/data/com.big5media.callofdata/lib/libgame.so: Routine Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeRender in …/libs//cocos2dx/platform/android/jni/MessageJni.cpp:51
Stack frame #09 pc 00016ef4 /system/lib/libdvm.so
Stack frame #10 pc 00045358 /system/lib/libdvm.so

* Crash dump:*
Build fingerprint: ‘lge/lge_bprj/lgp970/lgp970:2.2.2/FRG83G/LG-P970-V11c.41FDA645:user/release-keys’
pid: 15793, tid: 15802 >>> com.big5media.callofdata <<<
signal 11 (SIGSEGV), fault addr 00000000
Stack frame #00 pc 00116f18 /data/data/com.big5media.callofdata/lib/libgame.so: Routine update in …/libs//cocos2dx/actions/CCActionManager.cpp:360
Stack frame #01 pc 0010b000 /data/data/com.big5media.callofdata/lib/libgame.so: Routine tick in …/libs//cocos2dx/include/CCScriptSupport.h:47
Stack frame #02 pc 0011e266 /data/data/com.big5media.callofdata/lib/libgame.so: Routine drawScene in …/libs//cocos2dx/CCDirector.cpp:235
Stack frame #03 pc 0011e298 /data/data/com.big5media.callofdata/lib/libgame.so: Routine mainLoop in …/libs//cocos2dx/CCDirector.cpp:941
Stack frame #04 pc 001379ce /data/data/com.big5media.callofdata/lib/libgame.so: Routine Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeRender in …/libs//cocos2dx/platform/android/jni/MessageJni.cpp:51
Stack frame #05 pc 00016ef4 /system/lib/libdvm.so
Stack frame #06 pc 00045358 /system/lib/libdvm.so
Crash dump is completed

If someone needs more details, ask.

How did you solved this problem?

The same question as above.

exactly the same problem using 0.12.0. the game crash in about 5 minutes if I keep changing and playing different scene. everytime it crashed at different places. below is the info:

06-22 16:19:05.870: I/DEBUG(236): #00 pc 0001ad08 /system/lib/egl/libGLESv2_tegra.so (glDrawElements)
06-22 16:19:05.870: I/DEBUG(236): #01 pc 0000bfc4 /system/lib/egl/libGLESv1_CM_tegra.so (glDrawElements)
06-22 16:19:05.870: I/DEBUG(236): #02 pc 000bb290 /data/data/com.giggleup.TJPA/lib/libgame.so (_ZN7cocos2d14CCTextureAtlas17drawNumberOfQuadsEjj)
06-22 16:19:05.870: I/DEBUG(236): #03 pc 000bb2f6 /data/data/com.giggleup.TJPA/lib/libgame.so (_ZN7cocos2d14CCTextureAtlas9drawQuadsEv)
06-22 16:19:05.870: I/DEBUG(236): #04 pc 000b33fa /data/data/com.giggleup.TJPA/lib/libgame.so (_ZN7cocos2d17CCSpriteBatchNode4drawEv)
06-22 16:19:05.870: I/DEBUG(236): #05 pc 000b3508 /data/data/com.giggleup.TJPA/lib/libgame.so (_ZN7cocos2d17CCSpriteBatchNode5visitEv)
06-22 16:19:05.870: I/DEBUG(236): #06 pc 00093a50 /data/data/com.giggleup.TJPA/lib/libgame.so (_ZN7cocos2d6CCNode5visitEv)
06-22 16:19:05.870: I/DEBUG(236): #07 pc 00093a50 /data/data/com.giggleup.TJPA/lib/libgame.so (_ZN7cocos2d6CCNode5visitEv)
06-22 16:19:05.870: I/DEBUG(236): #08 pc 00096d82 /data/data/com.giggleup.TJPA/lib/libgame.so (_ZN7cocos2d10CCDirector9drawSceneEv)
06-22 16:19:05.870: I/DEBUG(236): #09 pc 00096e00 /data/data/com.giggleup.TJPA/lib/libgame.so (_ZN7cocos2d21CCDisplayLinkDirector8mainLoopEv)
06-22 16:19:05.870: I/DEBUG(236): #10 pc 000af9d6 /data/data/com.giggleup.TJPA/lib/libgame.so (Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeRender)
06-22 16:19:05.870: I/DEBUG(236): #11 pc 00011d34 /system/lib/libdvm.so
06-22 16:19:05.870: I/DEBUG(236): #12 pc 000411be /system/lib/libdvm.so (dvmCallJNIMethod_staticNoRef)

I have very large texture using pvr.ccz and using batchnode. particle system as well.

sorry guys, after one day debug, I realize that is my own problem. I subclass the CCSprite and create own static function, but in my own function, I didnnt call autorelease after init returns true, which results in memory keeps increasing.

If someone hit the same case, here is a checkpoint.