169得票9回答
`self`与块中的保留循环问题

我很抱歉,这个问题可能相当基础,但我认为它与很多进入块编程的Objective-C程序员相关。 我听说由于块捕获其中引用的本地变量作为const副本,因此在块内使用self可能会导致循环引用,如果该块被复制。因此,我们应该使用__block来强制块直接处理self,而不是将其复制。__blo...

168得票5回答
如何设置JVM的最大内存使用量?

我想限制JVM使用的最大内存。请注意,这不仅仅是堆内存,我想要限制该进程使用的总内存。

166得票7回答
增加(或减少)R进程可用的内存

我想增加(或减少)可供 R 使用的内存量。有哪些方法可以实现这一点?

166得票6回答
一个应用程序可以使用的最大RAM量是多少?

我对 Android 操作系统的内存管理问题很感兴趣,因此希望能得到关于该主题的详细回答。 我想知道: 一个 Android 应用程序(不是系统应用程序)可以使用的内存最大量是多少(以兆字节或总 RAM 的 百分比表示)? Android 版本之间有什么区别吗? 设备的制造商是否会影响内...

163得票5回答
与内存有关的术语"Arena"是什么意思?

我正在阅读一本有关编程概念中的内存的书。在后续章节中,作者频繁使用arena这个词,但从未定义过它。我尝试搜索了这个词汇的含义以及它与内存的关系,但没有找到答案。以下是作者使用该术语的几种情况: "下一个序列化的例子使用了一种称为从特定 arena 分配内存的策略。" "……...

159得票15回答
在.NET中,有哪些有用的策略和工具可用于查找内存泄漏?

我写C++已经有10年了,虽然会遇到内存问题,但只要花点心思就可以修复。 最近几年我开始写C#,发现我仍然经常遇到内存问题。由于非确定性和C#的哲学是你不需要担心这些事情(实际上你肯定需要),所以它们很难被诊断和修复。 我尤其遇到的一个问题是,我必须在代码中明确地释放和清理所有内容。如果我...

156得票7回答
为什么要使用ivar?

通常我看到这个问题是以相反的方式提出的,比如Must every ivar be a property?(我喜欢bbum对这个问题的回答)。 我几乎总是在我的代码中使用属性。然而不时地,我会与一名承包商合作,他已经在iOS上开发了很长时间,是传统的游戏程序员。他编写的代码几乎没有声明任何属性...

154得票7回答
C++, Free-Store vs Heap

使用 new/delete 进行动态分配被称为在自由存储区上进行,而 malloc/free 操作则使用堆。 实际上是否存在区别?编译器是否区分这两个术语(自由存储区和堆,而不是new/malloc)?我想知道。

151得票8回答
什么时候和为什么编译器会在malloc/free/new/delete时将内存初始化为0xCD、0xDD等值?

我知道编译器有时会使用特定的模式来初始化内存,例如0xCD和0xDD。我想知道的是这种情况发生的时间和原因。 时间 这是特定于所用的编译器吗? malloc/new和free/delete在这方面的工作方式是否相同? 这与平台有关吗? 是否会在其他操作系统上发生,例如Linux或Vx...

149得票11回答
当ptr为NULL时,使用free(ptr)会破坏内存吗?

从理论上讲,我可以说free(ptr); free(ptr); 由于我们正在释放已经被释放的内存,这是一种内存损坏。但如果 free(ptr); ptr=NULL; free(ptr); 由于操作系统会以未定义的方式表现,因此我无法进行实际的理论分析来确定正在发生什么。 无论我做什么,这是...