【问题标题】:Memory used by any iPhone app任何 iPhone 应用程序使用的内存
【发布时间】:2011-05-09 05:43:00
【问题描述】:

关于 iOS 内存管理,我有一些不明白的地方。

  1. 我想知道 iPhone 应用程序在设备上运行时通常需要多少内存(有没有像 10MB 这样的修复数字?)

  2. 如果应用包含大量大图像,对内存有何影响?它们仅在加载时影响内存吗?

  3. 当有多个应用运行时,iOS 如何管理内存?

请帮助我理解这些概念。

【问题讨论】:

  • 作为程序员还是用户,您想了解这一点吗?对于第三个问题,前台总是只有一个App,但iOS4的后台可能有好几个。当 iOS 需要更多可用内存时,后台的那些会被 iOS 杀死。

标签: memory-management ios


【解决方案1】:

iOS 设备上的应用程序没有规定或固定的可用内存量。

也就是说,据报道有些游戏应用程序使用了超过 55MB 的内存,但据报道,如果在设备重置后不立即运行,操作系统也会在相当大比例的时间内杀死这些游戏。

如果您使用 22MB 或更少的内存,操作系统仍然可能会因为没有足够的可用内存而终止您的应用程序,但它也必须终止应用程序商店中的大量其他应用程序,因此您会在非常好的公司。

当任何应用程序(前台或后台)请求足够的内存以开始充分耗尽内存池时,会向其他应用程序发送内存警告。如果内存池变得足够小,应用程序就会被杀死,如果它是一个大内存猪,可能包括前台应用程序。

【讨论】:

    【解决方案2】:

    Q1) 当然,没有固定值。每个应用程序(和应用程序实例)将根据其任务使用不同数量的内存。然而,有一个最大值。达到此最大值将触发内存警告,操作系统可能会终止它。

    Q2) 图片:取决于您一次展示多少张,或通过动画展示。

    Q3) 前台应用程序获得分配给它的最多内存。后台应用程序可以请求内存来执行后台任务。

    关于最佳实践的好文章:

    http://inessential.com/2010/06/28/how_i_manage_memory

    【讨论】:

    • 好的,埃文。你说的最大值是多少?
    猜你喜欢
    • 1970-01-01
    • 2011-01-03
    • 2011-06-30
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 2010-10-02
    相关资源
    最近更新 更多