Java 分配大型阵列时发生SIGSEGV错误
我想分配一个大尺寸的浮点数组:Java 分配大型阵列时发生SIGSEGV错误,java,android,arrays,segmentation-fault,Java,Android,Arrays,Segmentation Fault,我想分配一个大尺寸的浮点数组: float AudioData[] = new float[numSamples]; 但我在android studio中遇到了这个错误: SIGSEGV (signal SIGSEGV: invalid address (fault address: 0xc)) 我知道这是因为堆栈溢出,我必须将数组移到其他地方 问题是如何将数组移动到堆?通常如何处理它?numSamples有多大?您确定它是堆栈故障吗?numSamples在这种情况下是18000000。它可
float AudioData[] = new float[numSamples];
但我在android studio中遇到了这个错误:
SIGSEGV (signal SIGSEGV: invalid address (fault address: 0xc))
我知道这是因为堆栈溢出,我必须将数组移到其他地方
问题是如何将数组移动到堆?通常如何处理它?numSamples有多大?您确定它是堆栈故障吗?
numSamples
在这种情况下是18000000。它可以完美地处理较小的数字。较大的对象分配将引发内存不足的java错误,而不是操作系统SIGSEGV。您的问题可能在其他地方。numSamples
有多大?您确定这是堆栈故障吗?numSamples
在这种情况下是18000000。它可以完美地处理较小的数字。较大的对象分配将引发内存不足的java错误,而不是操作系统SIGSEGV。你的问题可能在别的地方