Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cordova iOS自定义插件:处理内存警告_Ios_Cordova_Didreceivememorywarning_Viewdidunload - Fatal编程技术网

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

Cordova iOS自定义插件:处理内存警告,ios,cordova,didreceivememorywarning,viewdidunload,Ios,Cordova,Didreceivememorywarning,Viewdidunload,我正在开发一个使用cordova(2.1)和一些自定义插件的iOS应用程序 我试图面对的问题如下: 当我展示我的插件时(基本上是一个相机插件,它比内置插件有更多的功能) cordova插件)有时我会收到一个内存警告,并随后卸载 包含webview的视图。这对我来说是一个很大的问题,因为一旦我的图像采集器 如果webview被解除,则不会恢复 我看了一下CDVCamera插件源代码,注意到: (1) 插件将保存webview: // we need to capture this state f

我正在开发一个使用cordova(2.1)和一些自定义插件的iOS应用程序

我试图面对的问题如下: 当我展示我的插件时(基本上是一个相机插件,它比内置插件有更多的功能) cordova插件)有时我会收到一个内存警告,并随后卸载 包含webview的视图。这对我来说是一个很大的问题,因为一旦我的图像采集器 如果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一起应用 在自定义插件中处理内存警告

使用cordova管理内存警告以避免卸载webview的任何帮助都将不胜感激

  • 这可能是一个遗留用法,我们需要保留对webView的引用,以便在清除选择器时向其写入javascript。实际上不需要,因为我们使用不同的方式回写webview:

  • 不确定您的意思,CDVViewController也会收到内存警告,并查询每个插件的hasPendingOperation属性。如果设置为true,则插件不会解除分配。请注意,如果内存未充分释放,iOS看门狗可能会终止应用程序


  • 删除了我的答案。希望其他人能帮助您使用该插件。您能分享更多关于您为解决此问题所做的工作的信息吗?感谢您的回答,在EDE,我使用hasPendingOperation属性处理了此问题。我在我的应用程序中遇到了相同的错误和应用程序崩溃。有人能帮我吗。错误为“已接收内存警告”。“插件”CDVCamera“有挂起的操作,内存清除因didReceiveMemoryWarning而延迟。”我在“CDVPlugin.m”文件中将hasPendingOperation设置为true。但我仍然收到警告和崩溃。github链接返回404。请解释如何解决这个问题。