问题标签 [didreceivememorywarning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 如何在 UIViewController 的 didReceiveMemoryWarning 中获得 EXC_BAD_ACCESS?
我在 UIViewController 的子类中实现了 didReceiveMemoryWarning。我的代码如下所示:
当我的应用程序实际收到内存警告时,应用程序崩溃并[self cleanUp]
在线显示 EXC_BAD_ACCESS(一种确实存在的方法)。这怎么可能发生?据我了解,框架调用了该didReceiveMemoryWarning
方法,然后在它尝试执行之前释放了我的类[self cleanUp]
。为什么会发生这种情况?我怎样才能防止这种情况?
ios - 在dealloc之后调用viewDidUnload?
当我调试我的 iPad 应用程序时,我发现由于内存不足,一些视图控制器viewDidUnload
被调用了。但几秒钟后,他们viewDidLoad
被召唤了。然后又是因为内存不足viewDidUnload
,然后viewDidLoad
又是。这就像文件系统由于内存不足而不断交换文件。
应该是这样,还是我做错了什么?
然后我想释放视图控制器来摆脱这个。但有时会viewDidUnload
在之前调用dealloc
,然后由于选择器发送到释放的视图控制器而崩溃。
感谢您的任何帮助。
memory-management - 警告:收到内存警告。等级=1 & 2
我正在制作崩溃的应用程序,在控制台中给出上述警告。
有两个精灵。
在其他方法中,我正在使用动画初始化 AlphaImage。
我使用 zwoptex 创建 plist 和 Texture atlas。
随着火车的行驶和返回,用于动画更改的 plist 和纹理图集。但经过 4 或 5 次应用程序崩溃。在新动画出现在 AlphaImage 之前,我还处理了所有帧和纹理。我使用了这个:
我正在为应用程序使用高清图像。我浏览了许多文件,他们提出了以下建议:
但是在控制台中,它没有显示任何关于使用这些行删除框架的内容。有什么我做错了吗?
iphone - 小型应用程序在启动后立即获得“didReceiveMemoryWarning”
通常,当在我的应用程序之前打开很多应用程序时,我会收到“didReceiveMemoryWarning”,然后,一段时间后,iOS 通常会关闭我的应用程序。这实际上已成为一个值得注意的问题。
在过去的几天里,我已经阅读了很多关于“didReceiveMemoryWarning”的内容。包括这里的帖子。不幸的是没有找到解决方案。
我知道我必须释放这个警告和bla-bla-bla的任何内存......问题是在应用程序启动后没有任何东西可以释放。我在内存中有一个带有 AdMob 4.0.2 横幅的 UIViewControlled 和一个提供应用程序数据的自己的容器 - 这是 NSMuttableArray 中的一些记录。启动后,我的应用程序占用了 1.3 Mb - 根据 Instruments 的说法,在此初始状态下,我的应用程序无法正常工作,而且我肯定知道没有内存泄漏。
怎么了?我看到一些繁重的游戏可以毫无问题地启动,但同时我的应用程序在这种情况下得到“didReceiveMemoryWarning”并关闭。在这种情况下有没有办法以正常方式工作。有什么技巧吗?
提前感谢您的建议。
ios - 内存警告释放了视图控制器?
我有一个主要的UIViewcontroller
(vcMain),其中两个UIViewControllers
是主要的子类。两个子类UIViewcontrollers
(vcSub1/vcSub2) 都只显示图像和更多控件。vcSub1 和 vcSub2 显示在UITabBarController
. 我已经实现didReceiveMemoryWarning
了这样的:
vc主要:
vcSub1:
vcSub2:
当我第一次模拟内存警告时,一切似乎都正常。
我可以一次又一次地做到这一点而没有问题。但是,如果我切换选项卡(并因此重新加载视图)并再次模拟内存警告,我会得到:
显示info malloc-history 0x614de80
该实例是 vcSub1 视图控制器。
为什么以及如何释放我的 vcSub1 视图控制器?
iphone - 在内存崩溃之前没有调用 didReceiveMemoryWarning
当我的应用程序第一次加载时,我正在加载几个大的 csv 文件,这在模拟器上运行良好,但在我的手机上运行时,它崩溃了大约 30%,并显示消息“程序收到信号“0””,这意味着内存崩溃。但是,当我在 didReceiveMemoryWarning 事件中放置断点时,它似乎没有被调用。
我是否遗漏了任何内容,或者程序是否会在没有调用事件的情况下正常关闭?
memory-management - 如果我重新加载,则处理不会表现相同的视图的内存警告
我的程序的一部分会根据从 tableview 中选择的提要来解析和 RSS 提要。
要传递 rss 文件的 url,我正在创建一个新的视图控制器,并调用一个函数
在它上面......(然后我推它)在那个viewController的viewDidLoad中,我开始解析那个URL等等。
现在,如果我在此视图不可见时收到内存警告。(例如,我选择一篇文章继续查看它的摘要),我怎样才能以我回来时可以取回相关表格的方式发布此视图?我希望我很清楚。我的问题是,如果视图控制器被释放,那么我会丢失它应该解析的 URL。当重新分配它时,viewDidLoad 将尝试解析一个无效的 url,我不禁想到会发生什么。:|
我能做些什么来解决这个问题?我是否忽略此视图控制器上的内存警告,而只专注于释放其他视图控制器?
谢谢,我希望我说清楚。
iphone - didReceiveMemoryWarning 应用程序崩溃
我正在尝试编写我的 didReceiveMemoryWarning 方法。我是否应该像在 ViewDidUnload 中一样将 IBOutlets 设置为 nil?
我在 iPhone 模拟器上模拟内存警告,但第二次运行它时,应用程序崩溃了。
非常感谢任何帮助或指导。谢谢
iphone - didreceivememorywarning 上的适当低内存警告消息!
我的应用程序经常收到低内存警告,我重写了 didreceivememorywarninig 方法并尽我所能释放不需要的自定义对象。
通常,当多个应用程序在后台运行(6 到 7 个应用程序)时,我会收到内存警告,所以我想通知用户关闭一些可能有助于顺利运行我的应用程序的后台应用程序。
//警告信息:
//警告:您的内存不足。关闭其他应用程序可能会有所帮助。
苹果会接受这种行为吗????谢谢。
ios - 当应用程序在后台时没有收到 didReceiveMemoryWarning
我注意到didReceiveMemoryWarning
当我的应用程序在 iPad 模拟器上处于后台状态时,我的视图控制器没有调用它们的方法。更具体地说,我在日志中看到了调用applicationDidEnterBackground
,然后我点击了“模拟内存警告”按钮,然后我注意到没有任何didReceiveMemoryWarning
调用。
但是,当我将应用程序带回前台时,我突然didReceiveMemoryWarning
接到电话,就好像它已经排队一样。
我在这里感到困惑的是,如果我的应用程序真的在后台,或者它只是完全暂停。有没有办法在模拟器中告诉?
另外,如果它还没有被暂停,并且真的只是在后台,那么我会觉得我无法处理很愚蠢didReceiveMemoryWarning
。因为这意味着只有前台应用程序可以处理内存警告以释放空间,这当然很奇怪,因为前台应用程序可能只是可能运行的数十个应用程序之一,如果它们更有意义都可以释放内存。
无论如何,主要问题是:为什么我没有进入didReceiveMemoryWarning
后台状态?还有,我真的被停职了吗?我怎么知道?