代码之家  ›  专栏  ›  技术社区  ›  Frank V

iPhone应用程序中的状态模式(内存使用)[已关闭]

  •  0
  • Frank V  · 技术社区  · 15 年前

    是吗 state pattern 在iPhone应用程序中——在我的例子中,是一个相对较轻的实用程序应用程序——会使用太多内存吗?

    这个 状态模式 据我所知,它使用了几个类;这些类代表不同的类型 . 所有不同的状态对象都被实例化并存储在不同的指针变量中,直到需要状态为止,此时状态被设置为 curState 对象

    我想我可以延迟加载每个状态对象以节省一些内存和加载时间;如果我的应用程序收到内存警告,我可以释放这些对象。

    但我想知道的是,这种模式是否会在iPhone操作系统应用程序中使用过多的内存?iPhone开发者应该远离这种模式吗?是否有一种不同的模式更适合iPhone操作系统?

    1 回复  |  直到 4 年前
        1
  •  1
  •   Mark Bessey    15 年前

    不值得担心。除非你的状态非常复杂,或者你有成千上万的状态,否则你的应用程序中的任何艺术或媒体文件都会在大小上完全淹没它们。

    我的意思是,一般来说,不要担心模型对象的内存使用。Objective-C对象在内存使用方面非常轻量级。如果您有一个相当典型的模型类,比如说有六个字段,每个字段都是指向其他对象的指针,那么该类的每个实例的总内存使用量大约是32字节左右。如果将1000个位图放入一个数组或其他数据结构中,则所用内存大约与128x128位图相同。

    与应用程序的“工作”部分相比,由于不需要使用图形或声音,您更可能遇到内存问题。