我的应用程序可以使用多少内存?或者通常的是什么?

Jac*_*cob 2 memory memory-management objective-c ios

我一直在4个IOS设备上测试我的应用程序.1 ipod touch 2g,1 iPhone 3gs,2 iPhone 4.在iPhone 4上,我的应用程序在运行时将占用大约30-50mb的内存.在3G上它将需要大约15-30mb,而在iPod上它将需要大约15-27mb的内存.

针对您的应用程序可以使用多少内存,是否有任何规则?应用程序没有崩溃他们中的任何一个,但我想我读到某个地方,最大就像20MB的内存使用?

坦率地说,我很惊讶iPod touch 2g可以运行这个东西,我被告知,iPod 2g的最大价值就像是20 mb的内存.

现在我有另一个问题,在运行Instruments时,是否会在设备上添加任何内存使用量?似乎在运行仪器时,应用程序比不运行它时滞后更多.

谢谢你,雅各布

aro*_*oth 10

没有确切的限制.从技术上讲,您的应用程序可以使用"最多可用的内存总量",但这个数量会因设备型号,iOS版本,后台运行的其他应用程序等等而有所不同.

说到一般,如果你希望你的应用上,如iPhone 3G的旧设备,你应该拍10-15 MB的RAM,运行可靠.对于较新的设备,30 + MB应该不是问题.这意味着虽然如果可以的话减少这个数量总是好的,但即使你不这样做,你的应用仍然可以正常运行.

另请注意,设备发送的内存警告不是很有用或表示特定的内存限制.他们并不是说你的应用程序在绝对意义上使用了太多内存.相反,他们只是说当前设备及其当前的应用程序工作集内存不足.如果您愿意,可以放心地忽略它们,并让操作系统关闭其他一些应用程序以为您腾出空间.

对于滞后于应用程序的工具,工具轮询设备以获取有关应用程序当前状态和其他历史信息的详细信息.收集和传递此信息会产生开销.但是,对于应用程序的空间要求的影响,它们应该可以忽略不计.