我正在编写一个非常内存密集型的程序,它将有几十个malloc数组。当应用程序收到低内存警告时,我想转储每个数组的下半部分。有什么办法可以做到吗?
我需要一些方法,我可以保留一半的内存在每个数组。显然,如果应用的内存很低,我就不能分配一个更小的数组,将一半的数据复制到其中,然后释放旧的数组。有没有函数可以释放从指针a开始到指针B结束的内存块?
Realloc()可以将malloc内存的末尾部分返回给分配池,但不能将其返回给操作系统。
Realloc()也不会帮助内存碎片,这在低内存情况下可能是一个问题。
如果它们是nsmutablearray,您可以将下端的对象替换为[NSNull null]
的单个实例,从而释放所有这些对象。
NSNull类引用