在安卓平台运行一段时间后会出现c++ new失败 导致应用闪退
自己无法在本地复现此问题 只能使用bugly来上报出错堆栈
具体报错信息如下
1 #00 pc 000581c8 /system/lib/libc.so (tgkill+12) [armeabi-v7a::9d9b55093154ce588d3db50f5132e8e9]
2 #01 pc 0005566d /system/lib/libc.so (pthread_kill+44) [armeabi-v7a::9d9b55093154ce588d3db50f5132e8e9]
3 #02 pc 0001de79 /system/lib/libc.so (raise+12) [armeabi-v7a::9d9b55093154ce588d3db50f5132e8e9]
4 #03 pc 0001a131 /system/lib/libc.so (__libc_android_abort+40) [armeabi-v7a::9d9b55093154ce588d3db50f5132e8e9]
5 #04 pc 00017974 /system/lib/libc.so (abort+4) [armeabi-v7a::9d9b55093154ce588d3db50f5132e8e9]
6 #05 pc 006fee4f __verbose_terminate_handler (/s/ndk-toolchain/src/gcc/gcc-4.9/libstdc++-v3/libsupc++/vterminate.cc:95) [armeabi-v7a]
7 #06 pc 006c8f8d __terminate (/s/ndk-toolchain/src/gcc/gcc-4.9/libstdc++-v3/libsupc++/eh_terminate.cc:47) [armeabi-v7a]
8 #07 pc 006c9001 terminate (/s/ndk-toolchain/src/gcc/gcc-4.9/libstdc++-v3/libsupc++/eh_terminate.cc:57) [armeabi-v7a]
9 #08 pc 006c9125 __cxa_throw (/s/ndk-toolchain/src/gcc/gcc-4.9/libstdc++-v3/libsupc++/eh_throw.cc:87) [armeabi-v7a]
10 #09 pc 006c945b operator new (/s/ndk-toolchain/src/gcc/gcc-4.9/libstdc++-v3/libsupc++/new_op.cc:54) [armeabi-v7a]
11 #10 pc 006c94af operator new [] (/s/ndk-toolchain/src/gcc/gcc-4.9/libstdc++-v3/libsupc++/new_opv.cc:32) [armeabi-v7a]
c++程序代码 上报的出错位置在 newBuffer这行
nSize = Header.wWidth * sizeof(TNewInfo) * Header.wHeight;
newBuffer = new TNewInfo[nSize]; //上报的崩溃行
运行一段时间后才会有小概率出现new失败崩溃问题,模拟器的话应该不会内存不足吧?到底是什么原因导致的呢