0

在我的应用程序中,我注意到在选项卡之间切换时速度非常慢。进一步调查显示,在我的内存使用测试中,我的应用在 5 分钟的测试中超过了 70mb。我的本机电子邮件应用程序仅使用 40mb。这不可能发生

我正在使用 ARC,我认为如果我使用类似的东西

@property(nonatomic, strong)NSString *string;

ARC 会自动解除分配。它似乎根本没有这样做。

我想知道的是我是否可以通过dealloc在我的代码中使用来减少我的内存(当我切换到 ARC 时,它删除了我所有的dealloc方法),或者是否有另一种方法来加速我的应用程序。

为了向您提供有关该应用程序功能的更多信息,请列出关键点:

- 从 web 服务获取邮件消息以及 pdfs

- 存储数组以检查消息是否已被读取、删除或未读

- 每次有人单击该选项卡时,邮件选项卡都会检查来自网络服务的新消息

- 对 pdf 文件进行相同检查

任何信息都会对我有很大帮助。

谢谢

编辑

这是我的泄漏图片。它很多。

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

4

2 回答 2

1

找出这种高内存使用率的原因的最佳方法是使用该Instruments工具,更具体地说是使用该Leaks工具。

您可以在Apple 开发者网站上找到更多信息。

希望这可以帮助。

于 2012-07-18T12:51:29.967 回答
0

我对 ARC 不熟悉,但我想它可能会减慢您的应用程序的速度。为什么?想一想:ARC 会自动完成您的“发布”工作,而不是您的手动发布。假设您有一个 30 行的方法,并且在第一行中创建了一个对象,然后在第三行中您不再需要它并手动释放它。而 ARC 将等到方法结束时才意识到不再需要您的对象。现在假设您在方法中进行了大量分配,ARC 将保留它们直到方法结束。恕我直言,手动释放更快。

于 2012-07-18T12:54:34.423 回答