【发布时间】:2012-08-22 15:54:13
【问题描述】:
为什么启用 arc 的应用程序运行缓慢。我已对所有应用程序源文件 .h 和 .m 文件进行了更改。但是应用程序启动非常缓慢。
我已经为优化中的 Debug 选项提供了 -O0 值,并为发布提供了 -os 值。但是我的应用程序仍然无法正常运行。请告诉我如何快速启动应用程序。
【问题讨论】:
-
您的应用程序基本上会很慢,内存管理的类型(
ARC或MRC)不会影响您的应用程序的速度。 -
没有我的应用程序没有 ARC 运行得很快。只有应用程序启动需要时间。我已经用 MRC 测试了应用程序,只有它运行得很快。当我只使用 ARC 运行应用程序时,它没有启动应用程序。如果我先运行 MRC 应用程序,然后再启动 ARC 应用程序,那么这两个应用程序都可以正常启动。如果我不先启动 MRC 应用程序,它就不会启动 ARC 应用程序。
-
我确信@H2CO3 有宝贵的建议。 H2,你能听到我说话吗?
-
ARC是不是运行时功能(它不是GC或相同),因此ARC不会影响应用程序的运行时速度。问题可能出在其他地方,但我们对 init 进程一无所知,即您在开始时加载的内容。 -
holex,这不是真的。保留和释放在运行时执行,并且比您预期的要慢。如果 ARC 插入不同的调用来保留和释放(它会!),那么您的程序将花费或多或少的时间来执行。我已经在许多不同的程序中看到了这种情况。在大多数情况下,差异很小,但在少数情况下可能会很大。在发布此类内容之前请三思。
标签: performance automatic-ref-counting