有时我正面临控制台中的“接收到的内存警告”。看到这里:如何捕捉应用程序中的警告崩溃报告:收到的内存警告
2012-07-13 11:39:54.344 PROJ42 [25255:707] Received memory warning.
该应用程序不会崩溃。但我想解决这个警告。
有没有办法找出为什么我得到这个警告并发送报告? 如果是的话,我该怎么做?
信息:我知道我可以用仪器运行来找到这样的警告。但我想知道是否有可能从终端用户的设备上捕获此警告?
我该如何捕捉这些警告?
有时我正面临控制台中的“接收到的内存警告”。看到这里:如何捕捉应用程序中的警告崩溃报告:收到的内存警告
2012-07-13 11:39:54.344 PROJ42 [25255:707] Received memory warning.
该应用程序不会崩溃。但我想解决这个警告。
有没有办法找出为什么我得到这个警告并发送报告? 如果是的话,我该怎么做?
信息:我知道我可以用仪器运行来找到这样的警告。但我想知道是否有可能从终端用户的设备上捕获此警告?
我该如何捕捉这些警告?
我认为这是没有内置的方式来知道发生了什么......
你可以尝试保存一些指示NSString
每个地方你分配新的对象/开放新资源的地方(如“ MAINVIEW :: createNewImage =>页头 “或” MAINVIEW :: createNewImage =>加载资源“),然后进行内部
- (void)didReceiveMemoryWarning
的该字符串的内容的NSLog这可能需要时间,但CA ñ表明你的问题的地方。
在UIViewController
有可以覆盖被调用的方法:
- (void)didReceiveMemoryWarning
这是被调用,并在其中您可以编写自定义代码的方法。
我知道这个方法。但是我怎样才能捕捉到警告信息呢?有时会出现Warning Level = 1等等。或者更多信息**为什么**我收到警告。 – brush51 2012-07-13 10:06:00
据我所知,没有办法找出内存不足的原因,该方法也没有任何争论。 – werner 2012-07-13 10:50:13
当在后台运行的应用程序和其他应用程序需要更多内存时,也会发送此警告。所以你应该总是实现这个方法并释放尽可能多的内存。这并不一定表明你的应用消耗了太多内存。无论您的应用程序具有哪种警告级别,也无法确定您的应用程序是否会在发出此类警告后死亡。即使警告级别设置为1,也可能在后台死亡。 – Kerni 2012-07-13 12:54:55
由于在您的应用程序中使用了大量的内存,所以会发生内存警告。尝试释放内存。
谢谢,这个答案对我来说已经足够了。 – brush51 2012-07-13 10:36:22