Tag: didreceivememorywarning

它如何工作didReceiveMemoryWarning iOS 6

我不知道关于didReceiveMemoryWarning太多的信息,但考虑到我在其他文章上阅读的东西,并在文档中寻找,我已经看到,在iOS 5的情况下,任何不可见的视图控制器将转储其视图,但万一的iOS 6的文档( 文档说,默认的实现“退出”,我不知道我应该怎么理解这一点。 我一直在做模拟低内存警告的iOS模拟器的一些testing,我欣赏(在iOS 5),如果我在堆栈中的第二个视图,我模拟低内存警告,什么也没有发生目前的观点,但如果我回到以前的观点发布和viewDidLoad再次被调用,但我在iOS 6的情况下没有任何以前的意见被释放,我的意思是这个,这是我的问题:什么是iOS 6的didReceiveMemoryWarning的后果,如果意见没有公布,我是否应该担心我不考虑的其他事情? 即使视图没有被释放的东西,像类variables(例如NSMutableArray)可以被释放?

cordovaiOS自定义插件:处理内存警告

我正在开发一个使用cordova(2.1)的iOS应用程序,以及一些自定义插件。 我试图面对的问题如下:当我显示我的插件(基本上是一个相机插件比内置的cordova插件更多的function)有时我收到一个内存警告,并随之卸载包含webview的视图。 这对我来说是一个非常大的问题,因为一旦我的imagePicker被解雇,webview不会被恢复。 我看了一下CDVCamera的插件源,我注意到了这一点: (1)插件保存webview: // we need to capture this state for memory warnings that dealloc this object cameraPicker.webView = self.webView; 在这里我不明白发生了什么,好的我们保存webview万一有内存警告它将被卸载,但我无法弄清楚如何/在框架中的webview恢复。 (2)插件使用一个名为hasPendingOperation的Bool属性,这个属性如果我理解的话,在接收到内存警告时被CDVViewController使用,以避免插件激活时清除内存。 我不明白的第一件事是以下为什么当我的控制器收到内存警告超级控制器(CDVViecontroller)没有收到它? 其次,是否可以将CDVCamera插件使用的模式与CDVViewController结合使用来处理自定义插件中的内存警告? 任何帮助pipe理与cordova的内存警告,以避免webview被卸载将不胜感激。

在iOS中清除内存中的URLcaching警告

收到内存警告时清除共享的NSURLCache是否是一个好习惯? 像这样的东西: – (void)applicationDidReceiveMemoryWarning:(UIApplication *)application { [[NSURLCache sharedURLCache] removeAllCachedResponses]; } 我是否正确地认为这也会不必要地清除磁盘caching? 如果是这样,可以只清除内存caching?

没有得到didReceiveMemoryWarning当应用程序在后台

我注意到,当我的应用程序在iPad模拟器上处于后台状态时,我的视图控制器没有得到他们的didReceiveMemoryWarning方法。 更具体地说,我看到在我的日志中调用applicationDidEnterBackground ,然后我点击“模拟内存警告”button,然后我注意到任何didReceiveMemoryWarning调用特有的缺乏。 但是,当我把应用程序带回前台时,我突然收到了didReceiveMemoryWarning调用,就好像它已经排队了。 我在这里困惑的是,如果我的应用程序真的在后台,或者如果它是平坦的暂停。 有没有什么办法可以告诉模拟器? 另外,如果它还没有被暂停,而且真的只是在后台,那么我会觉得我无法处理didReceiveMemoryWarning是很愚蠢的。 因为这意味着只有前台应用程序可以处理内存警告来释放空间,这当然是奇怪的,因为前台应用程序可能只是可能运行的几十个应用程序中的一个,并且如果它们变得更有意义都可以释放内存。 无论如何,主要的问题是:为什么我不能在后台状态获取didReceiveMemoryWarning ? 而且,我真的被暂停了吗? 我怎么知道?