0

嗨,我只想知道:iphone 3gs 和 iphone 4 什么时候会发出内存警告

我的意思是在我们的应用程序使用了多少内存之后,两个设备都会发送警告?

谢谢

4

2 回答 2

0

你不知道它什么时候会火。您不知道后台运行的其他应用程序使用了多少内存,Safari 保存网页等。Pandora 可能在后台进行流式传输,并且可能正在使用大量内存。不要指望任何单一的内存量。延迟加载,并在 didRecieveMemoryWarning 中释放不需要的分配。如果您的应用程序需要大量内存,一些游戏开发人员会告诉他们的用户在玩之前重新启动设备,以确保应用程序获得最大内存和最佳性能。

于 2011-02-27T23:04:09.903 回答
0

它没有严格定义,但 Apple 建议您不要使用超过 24MB 的图形内存,因为过度使用图形内存通常是应用程序收到内存不足警告的原因。管理 iPhone 上严重的低内存情况的唯一好方法是实现didReceiveLowMemoryWarning委托方法并在此时释放尽可能多的内存。这意味着例如:

  1. 当前加载到内存中的所有不可见图像
  2. 所有视图控制器及其子视图(如果不使用)

这当然可以安全地完成,前提是您的应用程序能够在稍后阶段重新加载该信息。didReceiveLowMemoryWarning但是,对于您的应用程序来说,这是不得已的情况。

为了避免达到这一点,建议仅延迟加载资源,即何时且仅在您需要它们时,并在不再需要它们时释放它们(例如viewDidUnload在所有控制器上实现)。

于 2011-02-27T22:50:47.603 回答