Monotouch应用程序在iPad上使用更多内存?

时间:2011-07-14 04:04:17

标签: ipad xamarin.ios

我有一个基于iPhone的iPhone Monotouch应用程序,似乎在iPad上使用更多内存而不是iPhone和iPhone模拟器。

在监控仪器中的内存分配后,我注意到有两个额外的实例仅在iPad上实例化(见下面的屏幕截图)。当按照iPhone和模拟器的相同步骤时,它们不存在。他们是一些总大约4MB的大型击球手。这两个实例的负责库是“CoreGraphics”。当他们被实例化时,我能够追踪并且我在黑暗中被留下,因为它在ViewDidLoad完成之后就已经存在了。在ViewDidLoad最后一行的断点和屏幕上显示的所有内容之间,bam!使用了4个额外的mb。 XIB是空的,因为我在代码中手动添加了所有内容,所以我无法弄清楚在ViewDidLoad之后会发生什么。

我想深究这一点,因为该应用已经在推动内存限制。这是在iPhone上运行良好和在iPad上快速崩溃(与内存相关)之间的区别。因此,如果不了解有关应用程序的任何细节,将导致iPad实例化这些额外的CoreGraphics相关怪物而不是iPhone上还是模拟器?

enter image description here

1 个答案:

答案 0 :(得分:0)

事实证明这是我的一个新手错误。

我的所有图像都是视网膜(双倍大小),但被命名为普通图像,myimage.png。我想我的iPad不支持视网膜图形,并且可能不堪重负,试图将所有视网膜图形重新调整到正常尺寸。

我掀起了一个脚本,将我的所有图形重命名为myimage@2x.png,并返回并使用正常名称myimage.png将所有图形切割为正常大小。在那之后,iPad是一个快乐的露营者,大量的分配无处可寻!