非常に長いiOSアプリケーションのフェーズを管理するために使用NSOperationQueue
しているため、非同期で管理したいと考えています。そのフェーズでは、calloc
関数を直接使用して、C で大きな配列を割り当てます。大きなとは、1024x256 の 2 次元配列の float などを意味します。
計算中にアプリがロックアップするよりもすべてがメインスレッドに存在する場合、すべてがうまくいきますが、代わりに重い部分をに移動すると、NSInvocationOperation
多くの奇妙な結果が得られ、デバッガーを使用すると、コンソールに奇妙なメッセージが表示されることがあります
現在、プログラムに使用できるメモリがありません: malloc を呼び出すのは安全ではありません
そのため、操作キューによって管理されるスレッドにメインスレッドと比較していくつかの異なる制限があるかどうか、またこの問題を回避するにはどうすればよいかを考えていました。