苹果拒绝了我,不知道为什么,或者如何解决它
因此继承人的故事,苹果公司最近拒绝了我的应用程序,说它在他们的手机上坠毁(iPhone 3G和iPod touch 2g),并发送给我两个崩溃日志。我无法从中理解这一点。苹果拒绝了我,不知道为什么,或者如何解决它
他们在这里。
Incident Identifier: BA4382DD-DA6A-47F7-800D-43AD30919064
CrashReporter Key: 53e41ca2a52f91affddc86f49ce9c4be851fcfd6
OS Version: iPhone OS 3.1.2 (7D11)
Date: 2010-01-14 15:59:57 -0800
Free pages: 317
Wired pages: 11274
Purgeable pages: 0
Largest process: iConicCars
Processes
Name UUID Count resident pages
amfid <b4f3e5a61456edf85b6ada59064ec311> 93
iConicCars <851d264eb074e465891dcd67b67a8e79> 5928 (jettisoned) (active)
MobileMail <0798395dde43ca46317db6e674dfbbfd> 503 (jettisoned)
MobilePhone <82c9bd8583f4b09706a16b08e641a4b9> 464 (jettisoned)
notifyd <d6b12a4e424e10e5ce91efd8d39f22af> 77
BTServer <c940c4c7252113a7303cc1f7d1429c17> 253
CommCenter <b1d6c4fe3ce2bc0374471196ab15b8d4> 313
SpringBoard <c5c29b56a2bb445fc73203e03f67fa78> 1954 (active)
accessoryd <32ceed5c3c32625ac23cd870f61364af> 107
configd <aae411e8289912124271f109ceee8f85> 290
fairplayd <cdce5393153c3d69d23c05de1d492bd4> 156
mDNSResponder <db98efaea94329959789f73a16f9f46e> 123
mediaserverd <612fbbfa0546609cf6c6b13ae6f333cf> 767 (jettisoned)
lockdownd <171865bfe3725c3d5047df8c00ed5d77> 294
syslogd <1cb3e9f2375fad9e345bd16655be4a50> 66 (jettisoned)
launchd <c5bc115d47313218505394f96770782a> 76
**End**
Incident Identifier: 8E52889B-0260-4AAD-A39C-FC170FB637D4
CrashReporter Key: 45d118e8a4be9b3163eab905af870f05dfddb12d
OS Version: iPhone OS 3.1.2 (7D11)
Date: 2010-01-14 13:41:31 -0800
Free pages: 309
Wired pages: 12550
Purgeable pages: 0
Largest process: iConicCars
Processes
Name UUID Count resident pages
iConicCars <851d264eb074e465891dcd67b67a8e79> 5641 (jettisoned) (active)
SCHelper <b87bd080a670f9512426e8721dc1f03c> 103
misd <a41e5d5f4b8922ab272c55df84aec4fd> 140
installd <620ede129454bcd824f0b6cec13b15d3> 212
SpringBoard <c5c29b56a2bb445fc73203e03f67fa78> 1545 (jettisoned) (active)
iapd <fea164e93479b90e1dd39a293dd3865c> 251 (jettisoned)
syslogd <1cb3e9f2375fad9e345bd16655be4a50> 83 (jettisoned)
mediaserverd <612fbbfa0546609cf6c6b13ae6f333cf> 302 (jettisoned)
BTServer <c940c4c7252113a7303cc1f7d1429c17> 345
lockdownd <171865bfe3725c3d5047df8c00ed5d77> 279
notifyd <d6b12a4e424e10e5ce91efd8d39f22af> 104
CommCenter <b1d6c4fe3ce2bc0374471196ab15b8d4> 151
configd <aae411e8289912124271f109ceee8f85> 264
fairplayd <cdce5393153c3d69d23c05de1d492bd4> 517
mDNSResponder <db98efaea94329959789f73a16f9f46e> 100
launchd <c5bc115d47313218505394f96770782a> 67
**End**
他们说,即使重启后,也没有什么区别。 继承人踢球者,它完美地在我的iPhone 3GS,并在模拟器没有内存泄漏。
那么,我究竟做了什么?
UPDATE:[会话开始于2010-01-16 20点01分44秒+ 1300]
登录在模拟器 GNU GDB 6.3.50-20050815(苹果版GDB-1346)( Fri Sep 18 20:40:51 UTC 2009) Copyright 2004 Free Software Foundation,Inc. GDB是GNU通用公共许可证的免费软件,欢迎您在012一定条件下。 输入“show copying”查看条件。 GDB绝对没有保修。请输入“显示保修”以了解详情。 这GDB被配置为“x86_64的 - 苹果 - 达尔文” .sharedlibrary应用负载规则所有附加 处理1152 使dyld:无法加载插入库:/usr/lib/libgmalloc.dylib
数据格式化暂时不可用,将在“继续”后重新尝试。 (目前还不能调入装载机,它已被锁定。) 警告:找不到“_sigtramp”最小符号 - 回溯可能是不可靠 不能在地址0x0 访问内存地址0x0 无法访问内存(GDB)
正如其他人所说,你正在使用太多的内存。
如果您正在使用多个视图控制器页面,请尝试此简单测试 - 使用ObjectAlloc工具运行您的应用程序。点击某个东西来调出一个子视图,你会看到你的记忆增加 - 现在消除该视图并回到主视图,记忆应该下降。如果不是,那就是你的问题(或者无论如何,但这是一个起点)。
要尝试跟踪这个问题,请在每个视图控制器的dealloc中放置断点并查看实际调用的内容。对于没有像您期望的那样发布的视图控制器,在ObjectAlloc中,您可以看到每个对象在对象的发布位置,以及在不应该这样做时保留该对象的内容。
一般来说,ObjectAlloc流程应该看起来像一个始终上升和下降的图表,而不是不断上升。
此外,如果您使用大量图片,请考虑重新调整大小以适合您所需的确切大小,而不是以更大的大小和缩放比例开始。使用那么多的内存必须是由于使用图像而不是释放它们。如果您仍然提及您保留的内存,泄漏将不会报告任何内容。
此外,购买较旧的触摸进行测试。
“另外,如果您使用大量图片,请考虑重新调整大小以适合您所需的确切大小,而不是从更大的大小和缩放比例开始。” 我认为这可能是问题..阅读对我刚才写的问题的评论。 – 2010-01-16 06:02:49
我对此评论过。实际上你没有必要让它们全部加载,你应该改变它,只在你需要的时候加载图像,摆脱你没有使用的图像。 – 2010-01-16 06:11:43
我仍然建议让Touch试试看...虽然我敢打赌这对我们有很大的帮助。我很高兴这似乎是主要问题。 – 2010-01-16 19:59:14
您的应用使用了太多的内存。使用仪器(对象分配或泄漏)检查您的应用程序并查看是否可以减少内存分配。
什么是减少内存分配的好方法?最好让系统管理它(NSString * string = @“hello”;)或自己动手,如(NSString * string = [[NSString alloc] init];) – 2010-01-16 05:41:51
对于字符串,'NSString * const string = @“你好”;'如果可能的话。如果你自己这样做,请记住“释放”它。 – kennytm 2010-01-16 05:45:58
你的应用程序正在使用的方式,太多的内存。它永远不会在具有128 MB RAM的旧设备上运行。
你能指定你需要更新的设备来运行吗?他们只会变得越来越快。 – 2010-01-16 05:42:26
您是否真的想要让10-20万人退出竞选以购买应用程序,只需花一些时间进行优化并使其适用于所有人?对于一款游戏,如果您只想使用最新的OpenGL功能,我可能会看到这种说法。 – 2010-01-16 05:59:58
恩..我会尽量优化它。 – 2010-01-16 06:01:53
查看“免费页面:309”?不好,意味着你正在使用一堆内存,然后当它全部使用它崩溃。可清除页面= 0是无法回收的内存,所以它是一个内存问题。
执行“构建和分析”并运行“泄漏”来查找内存泄漏和您可以更有效地运行的位置。
虽然我没有泄漏。 AL1记忆似乎是/记帐的。 – 2010-01-16 05:47:42
您的iPhone 3GS和模拟器拥有比其他iPhone OS设备更多的内存。要在所有设备上工作,您应该使用不超过20 MB的内存。
你怎么知道它现在使用多少? – 2010-01-16 05:47:11
您是否曾尝试在乐器中运行应用程序(运行 - >使用性能工具运行...) – kennytm 2010-01-16 06:08:56
是的,我有。并认为看起来对我好。 (尽管这并不多说) – 2010-01-16 07:03:57
更新: 我有2.8 MB的图像存储在应用程序中的数组 - 这会不好吗?我已经购买,并通过类似的应用程序,只使用较小的图片。 – 2010-01-16 06:01:16
文件系统上2.8MBs(如JPG尺寸)?因为一旦加载,它们在内存中的体积就会更大。 您可以放大图片,但您可能需要重新加载应用才能根据需要加载图片。 – 2010-01-16 06:08:28
桌面上的图像文件夹为2.8 megs。 – 2010-01-16 06:35:37