【问题标题】:How many objects should I retrieve from server and How many can be stored in NSCache?我应该从服务器检索多少个对象,多少个对象可以存储在 NSCache 中?
【发布时间】:2014-04-20 23:05:26
【问题描述】:

我的服务最多返回 500 个对象,我注意到当数据量超过 60 个对象时,我的 iphone 应用程序崩溃了。为了解决这个问题,我正在运行一个只返回前 40 个结果的查询,但这比只返回整个数据要慢

  1. 最佳做法是什么?如何检索更多对象?
  2. iphone 中分配给应用程序的最大内存量是多少?有没有办法扩展它?
  3. 我应该从服务器检索多少对象
  4. NSCache 中可以存储多少?

【问题讨论】:

    标签: python iphone nscache memory-optimization


    【解决方案1】:

    也许您应该使用 NSData 而不是 NSCache 从您的服务中检索数据。

    NSCache 用于临时对象,但是 NSData 用于在应用程序之间移动数据(从您的服务到您的应用程序)

    Apple 对 NSCache 的描述:

    NSCache 对象是一个类似于集合的容器或缓存,用于存储键值对,类似于 NSDictionary 类。 开发人员经常合并缓存来临时存储对象,这些对象具有创建成本高昂的瞬态数据。重用这些对象可以提高性能,因为它们的值不必重新计算。但是,这些对象对应用程序并不重要,如果内存紧张,可以将其丢弃。如果丢弃,则必须在需要时重新计算它们的值。

    Apple 对 NSData 的描述:

    *NSData 及其可变子类 NSMutableData 为字节缓冲区提供数据对象、面向对象的包装器。数据对象让简单分配的缓冲区(即没有嵌入指针的数据)具有 Foundation 对象的行为。

    NSData 创建静态数据对象,NSMutableData 创建动态数据对象。 NSData 和 NSMutableData 通常用于数据存储,在分布式对象应用程序中也很有用,其中数据对象中包含的数据可以在应用程序之间复制或移动。*

    【讨论】:

      猜你喜欢
      • 2010-09-09
      • 2014-07-31
      • 2013-11-22
      • 1970-01-01
      • 1970-01-01
      • 2019-09-09
      • 2011-07-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多