菜鸟教程小白 发表于 2022-12-12 16:05:52

iphone - 我的代码是否使我的 iPhone 负担过重?


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

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

<p>在 iPhone 上,在您必须实现某种形式的缓存之前,您希望这样的结构有多大?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>鉴于您可能会在低至 20MB 的情况下耗尽内存(在 iPhone 3G 上),您将需要重新考虑您的设计。 3G 有 128MB 的 RAM,3GS 有 256MB,iPhone 4 有 512MB,但您的应用程序可用的内存量要少得多。当我在 3G 上工作(并遇到限制)时,我发现这个数字 float 在 20-25MB 左右。</p>

<p>问题是为什么你需要同时在内存中的所有对象?您可以将这些数据存储到磁盘上,它可能不会让您的应用程序减慢很多。比不断达到内存警告阈值要好一点,因为在这种情况下,您要么需要缩小字典的大小,要么发现应用程序崩溃。</p></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - 我的代码是否使我的 iPhone 负担过重?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/5426966/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/5426966/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - 我的代码是否使我的 iPhone 负担过重?