iPhone App在启动时占用大量内存

时间:2011-09-19 17:48:28

标签: iphone ios memory-management

如果我在main函数的第一行代码上放置一个断点,我会在活动监视器中看到17MB的内存用于我的应用程序。你知道为什么没有任何东西加载的内存使用率如此之高? (也许操作系统正在加载很多东西,但不是我)

此内存使用情况与app可执行文件的大小几乎相同。可执行文件是否在启动时完全加载? 如何减少初始内存大小?

2 个答案:

答案 0 :(得分:5)

不要查看活动监视器,使用仪器(配置文件,分配)。

答案 1 :(得分:2)

我认为它与你的应用程序包大小相同的事实可能只是一个巧合,因为整个软件包在启动时没有加载到内存中。

正如CocoaFu所说,使用分配工具来查看应用分配的内存量。它将比活动监视器工具小得多,因为它不包括OpenGL使用的内存(支持所有用户界面元素)。

最有可能的是,实际分配非常小(MB或更小),而其他16个左右MB是由UIKit创建的应用程序的所有界面元素(即导航控制器,各种视图控制器,按钮,随你)。请注意,在iPhone 4或iPod touch第4代上,OpenGL分配(即分配工具和活动监视工具之间的差异)将大约是之前型号的两到四倍,因为屏幕的分辨率是4倍所有UI元素都比较大。