我正在读一本关于 Objective C 的书,我想知道两件事:
1.由于我们主要使用ARC,我现在应该花时间阅读关于内存管理的一整章吗?(只问这个问题以确保我正确地管理时间)
2.如果你在手动管理方面做得很好,你能得到比使用ARC更好的性能吗?(这样您的应用程序会运行得更快)
tnx
我正在读一本关于 Objective C 的书,我想知道两件事:
1.由于我们主要使用ARC,我现在应该花时间阅读关于内存管理的一整章吗?(只问这个问题以确保我正确地管理时间)
2.如果你在手动管理方面做得很好,你能得到比使用ARC更好的性能吗?(这样您的应用程序会运行得更快)
tnx
retain
、release
和autorelease
。这将帮助您了解有关 ARC 内部工作的讨论。1、当然应该。ARC是基于相同的内存管理,只要让编译器做同样的工作。如果你想掌握一种技术,尝试了解它是如何工作的,是一种更快的方法。
2、实际上,它们的性能是一样的。只是让编译器做你之前做的事情。因为当你在类中保留一个对象(这是一个属性)时,我们总是在dealloc中释放。你在一个对象中分配一个对象方法,分配给本地指针,当这个方法的堆栈内存清理干净时,它会被释放;如果你在方法中保留它到方法的局部变量,你会在同一个地方释放它。然后你会发现它们都是可预测的.为什么不让机器来做呢?