你好,
问题
我是一个新手iOS开发者,并且正在监控应用程序的统计数据。昨天我在观察instruments时发现,我的应用程序在空闲状态下的内存使用量在7到9 MB之间。
我猜这对于一个只处于空闲状态的应用来说是很多的,但我又是新手,不知道这是否是一种标准。
有人能够解释一下,一般情况下它在空闲状态下使用多少内存吗?
泄漏
我已经检查了内存泄漏,但没有泄漏。
我是一个新手iOS开发者,并且正在监控应用程序的统计数据。昨天我在观察instruments时发现,我的应用程序在空闲状态下的内存使用量在7到9 MB之间。
我猜这对于一个只处于空闲状态的应用来说是很多的,但我又是新手,不知道这是否是一种标准。
有人能够解释一下,一般情况下它在空闲状态下使用多少内存吗?
我已经检查了内存泄漏,但没有泄漏。
如果您的应用程序在前台,但您没有做任何事情,那么您的内存占用是可以接受的(实际上非常低)。
如果您的目标是 iOS 10,那么您的应用程序将在最低内存能力的移动设备上运行,该设备的 RAM 将为 512MB(iPhone 4s)。对于此设备的内存使用情况,给定的“担忧点”将在 ~170 / 180MB 范围内。
以下是一些设备的崩溃统计数据(崩溃时的 RAM 使用情况/设备的总内存限制):
iPad1:127MB/256MB/49%
iPad2:275MB/512MB/53%
iPad3:645MB/1024MB/62%
iPad4:585MB/1024MB/57%(iOS 8.1)
iPad Mini 1st Generation:297MB/512MB/58%
iPad Mini retina:696MB/1024MB/68%(iOS 7.1)
iPad Air:697MB/1024MB/68%
iPad Air 2:1195MB/2048MB/58%(iOS 8.x)
iPad Pro 12.9: 3064MB/3981MB/77% (iOS 9.3.2)
iPad Pro 9.7": 1395MB/1971MB/71% (iOS 10.0.2 (14A456))
iPod touch 4th gen: 130MB/256MB/51% (iOS 6.1.1)
iPod touch 5th gen: 286MB/512MB/56% (iOS 7.0)
iPhone4: 325MB/512MB/63%
iPhone4S: 286MB/512MB/56%
iPhone5: 645MB/1024MB/62%
iPhone5S: 646MB/1024MB/63%
iPhone6: 645MB/1024MB/62% (iOS 8.x)
iPhone6+: 645MB/1024MB/62% (iOS 8.x)
iPhone6s: 1396MB/2048MB/68% (iOS 9.2)
iPhone6s+: 1195MB/2048MB/58% (理论值,未经测试)
iPhoneSE: 1395MB/2048MB/69% (iOS 9.3)
iPhone7+: 2040MB/3072MB/66% (iOS 10.2.1)
欢迎来到SO!
不,我认为这并不会占用太多内存。以一个空的新项目(单视图模板)为例。它已经占用了约6 MB的空间。无论是在后台还是前台。 如果我没记错,iPhone 6有1 GB的实际RAM,但架构的工作方式使得内存对于例如桌面系统等其他系统的性能影响较小。只有7 MB的使用量,除非用户运行了数十个更加耗费资源的应用程序,否则您的应用程序甚至不需要被交换。
基本上,您的应用程序几乎没有超过仅显示白屏所需的最低内存消耗...
didReceiveMemoryWarning
通常是一个好的起点。你还可以查看 https://www.raywenderlich.com/31166/25-ios-app-performance-tips-tricks。它可能有点老,但我认为仍然很有价值。 - Gero