OGeek|极客世界-中国程序员成长平台

标题: iphone - 我的代码是否使我的 iPhone 负担过重? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 16:05
标题: iphone - 我的代码是否使我的 iPhone 负担过重?

在我的应用程序中,我正在维护一个 NSMutableDictionary 对象,该对象在正常情况下将包含大约 400-500 个对象,在某些情况下可能包含 1500-2000 个。它包含的对象都是 NSMutableArray 对象,每个对象通常包含 10-15 个对象(一个简单的 NSObject 扩展器和几个 NSStringNSDate 属性添加)并且可能包含多达 50 个。

根据我的实际计算(假设每个对象 100 字节?)这大约是 5 MB 的低端和 80 MB 的高端,所以我不确定这是一个好主意。

在 iPhone 上,在您必须实现某种形式的缓存之前,您希望这样的结构有多大?



Best Answer-推荐答案


鉴于您可能会在低至 20MB 的情况下耗尽内存(在 iPhone 3G 上),您将需要重新考虑您的设计。 3G 有 128MB 的 RAM,3GS 有 256MB,iPhone 4 有 512MB,但您的应用程序可用的内存量要少得多。当我在 3G 上工作(并遇到限制)时,我发现这个数字 float 在 20-25MB 左右。

问题是为什么你需要同时在内存中的所有对象?您可以将这些数据存储到磁盘上,它可能不会让您的应用程序减慢很多。比不断达到内存警告阈值要好一点,因为在这种情况下,您要么需要缩小字典的大小,要么发现应用程序崩溃。

关于iphone - 我的代码是否使我的 iPhone 负担过重?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5426966/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4