我的iPhone应用程序应该占用多少内存?

时间:2014-04-15 21:09:42

标签: ios iphone memory

我为iPhone创建了一个Blackjack应用程序。它运行时占用70 MB的内存。这太高了吗?对我来说似乎有点高。或者这是正常的,因为我正在使用一些图形/动画(用于卡片,芯片等)。

2 个答案:

答案 0 :(得分:16)

比Tic Tac Toe要求的游戏要求低于10 MB。但是,你的动画。我假设它是2D动画,因为3D游戏大约需要500 MB,而接近1 GB的装载则更高。

不看代码在做什么,它似乎在一个漂亮的2D Blackjack应用程序的可接受范围内。

话虽如此,看看Apple对lowering an app's memory usage的建议并没有什么坏处。

答案 1 :(得分:8)

观察:仅仅为了它而使用较少的内存是没有优势的。如何拥有500mb未使用的RAM比拥有450mb更好?

作为观察结果,iOS中使用的常见机制是NSCache。它是[近似]一个关联映射,除非或直到这样做会导致过度的内存压力。更普遍地使用相同的模式。使用可用的东西,除非或直到这样做会导致其他人出现问题。这就是存在低内存警告的原因。这些高速缓存由开发人员和系统使用 - 例如每次拨打[UIImage imageNamed:]

除此之外,它取决于您的资产,您的观点如何安排以及一系列其他因素。

视网膜iPhone 5S的分辨率为1136x640像素。这就是大约2.8mb的数据。你提到动画:你有足够多的不同资产来添加最多25个动画屏幕吗?如果是那么那就是70mb。

您的观点如何?你是否保留了很多独立意见?每个视图都有CALayer,在正常情况下,这意味着GPU占用空间。与NSCache一样,除非内存压力指示需要执行其他操作,否则将保留此类内存(即使那时,当前层次结构中的任何内容都必须保留其存储空间)。