问题标签 [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.

0 投票
1 回答
148 浏览

objective-c - iPhone : 内存警告会破坏坚固的物体?

我正在开发一个可以拍照的应用程序。

我最近遇到了一个非常奇怪的行为,这是我的代码。

我的问题是:如果有内存警告,存储在其中的 UID_albumID会被遗忘并重新生成,因此我的相册被分成两半。为什么 ?关键字不strong应该能够保持当前值吗?

还是因为viewDidload再次调用了?如果是这种情况,那么如何确保我们第一次加载视图以获得正确的 init ?这些方法听起来是为它设计的。

0 投票
1 回答
1224 浏览

ios - iOS - 收到内存警告

该应用程序播放捆绑包中的视频和音频。当我在我的 iPod Touch 上测试应用程序时,有时就在视频播放之前,它会记录消息。有时,当应用程序想要准备音频播放器(在另一个视图控制器中)时,它会记录消息。

但是我还没有崩溃!:D 我不确定如果它在其他打开多个应用程序的设备上运行是否会发生崩溃。那么,我应该担心这个吗?我应该在另一个线程中准备AudioPlayer 或moviePlayer 吗?还是忽略它?

0 投票
4 回答
2661 浏览

ios - 收到内存警告和内存泄漏

我正在使用 ARC(自动引用计数)。

如果我将IBOutletsin 设置为 nilviewDidDisappear可以viewDidUnload吗?

比如这些:

我正在编写一个基于导航的应用程序,其中包括pageViewController,我在 Instruments 中测试了我的应用程序以查看内存泄漏,并且我不断收到内存警告消息。我什至在viewDidUnload方法中放了一个日志代码。但是当我弹出时它似乎没有被调用rootViewController

还有一件事:如果每个页面都有一个 audioPlayer,我应该在哪里将 a 设置@property (nonatomic, strong) AVAudioPlayer *audioPlayer;为 nil?

或者我如何将它设置为弱而不是强?因为它在此代码行中给了我一个“警告”:

它说:将保留对象分配给弱变量

0 投票
1 回答
494 浏览

objective-c - iOS - UITableView 崩溃

我将图像加载到 UITableViewCell 中。这些图像的大小并不大——每张可能只有 6 KB。

但是有 500 行。当我滚动时,它一开始很慢,并给我内存警告消息,但再滚动几次后,应用程序崩溃了。我也使用了一些工具,它表明当我滚动时内存使用率越来越高!dequeueReusableCellWithIdentifier:CellIdentifier是不是工作不正常,或者我应该以某种方式“消除”图像?!

顺便说一句,我已经关闭了我设备上的所有其他应用程序,并且我的 iPod Touch 上有超过 1.5 GB 的可用空间。

这是配置单元格的代码:

0 投票
2 回答
3057 浏览

objective-c - 在 MonoTouch 中释放/处置 UIViewController

据我了解,在 MonoTouch 中处理 Cocoa 对象时,我们需要保存对它们的引用。这样做的原因是 ObjC 运行时可能仍然持有对对象的引用,如果我们在它们上没有“MonoTouch 引用”,它们可能会被垃圾收集,这会导致EXC_BAD_ACCESS一旦 ObjC 运行时尝试访问它们。

比如说,我们有两个 UIViewController 子类,VC1 和 VC2。如果用户单击 VC1 上的按钮,UI 会导航到 VC2,并且用户可以来回导航。如果我每次用户导航到它时都创建一个新的 VC2 实例,那么对旧实例的引用会丢失,因此它们会被垃圾收集,并且应用程序在下次 adidReceiveMemoryWarning传播到 UIViewControllers 时崩溃。

我怎样才能释放旧的引用,所以我不必每次都使用相同的 VC2 实例?Dispose似乎还不够。

0 投票
2 回答
1281 浏览

objective-c - didReceiveMemoryWarning 崩溃

- 使用 ARC

-我有 5 个独立的视图控制器,它们都继承了我创建的名为“UIViewControllerWithLoadingView”的类,该类是 UIViewController 的子类。

- 在子类和超类中,我分配和解除分配属性如下:

- 现在当 didReceiveMemoryWarning 被调用时,子类 viewDidUnload 方法可以正常工作。BBBUUTTT 如果我在超类 UIViewControllerWithLoadingView 中将属性设置为 nil,应用程序将崩溃。特别是在我将子类的属性设置为零的地方。所以现在我只是没有在超类中将属性设置为 nil,这会成为问题,因为活动字节只是在运行时不断堆积。

0 投票
0 回答
157 浏览

iphone - 在 iphone 中使用 UIImagePickerControllerSourceTypeCamera 拍摄超过 6 张照片后应用程序崩溃

我在我的应用程序中使用相机,该应用程序在拍摄超过六张照片后崩溃并且崩溃日志是Memory warning received。我正在保存图像,

请帮帮我。

提前致谢..

0 投票
1 回答
135 浏览

objective-c - 在模态视图控制器上模拟内存警告清除前一个控制器的内容

我有一个模态视图控制器作为我的应用程序中的主控制器。在一个流程中,它可以在其上呈现另一个模态视图控制器。所以问题是当我试图在第二个视图控制器上模拟内存警告时,主视图控制器收到- [didReceiveMemoryWarning:]消息,但它- [viewDidUnload:]没有被调用。尽管如此,当第二个视图控制器被关闭时,主视图控制器的所有内容都会消失。有人可以给我一个线索我该怎么办吗?提前致谢。

0 投票
1 回答
221 浏览

objective-c - UITableViewCell崩溃 didReceiveMemoryWarning

我有一个自定义 UITableViewCell 扩展 UITableViewCell 并实现MFMailComposeViewControllerDelegate. (即UITableViewCell<MFMailComposeViewControllerDelegate>)。

当在自定义表格单元格中单击按钮时,我会呈现一个带有presentModalViewController. 然后用户可以键入电子邮件或取消,一切正常。

但是当didReceiveMemoryWarningmailController 存在时被调用,然后当 mailController 关闭时,应用程序崩溃。我收到此错误:

“-[CustomCell respondsToSelector:]: 消息发送到已释放实例 0xf4988b0”

现在我很确定它是因为拥有 tablecell 的表视图已被释放,因此单元格已被释放,但有没有人有任何建议来解决这个问题?我的意思是我想我可以将 MailCompose 委托切换到表格单元格的表格视图的视图控制器,但我宁愿不这样做。我宁愿把它放在表格单元格中。有任何想法吗?

0 投票
1 回答
527 浏览

iphone - 内存警告后的 EXC_BAD_ACCESS

收到内存警告后,我的应用程序出现 EXC_BAD_ACCESS 问题。这就是我的测试方式:我编写了一个简单的应用程序,它只分配内存但不释放它。在我分配了大量内存后,只剩下大约 14 MB 的可用内存,我切换到我的主应用程序。我立即在 didReceiveMemoryWarning 中收到内存警告。片刻之后,我的应用程序在一个在 UIButton 中设置图像的函数中崩溃:

我得到的错误是调用 setImage 的行上的 EXC_BAD_ACCESS(code=1, address=some_address)。如果我评论这些行,我的应用程序会在另一个为 UIButton 设置图像的函数中崩溃。

这是我的 didReceiveMemoryWarning:

为什么会这样?这是因为没有更多的内存来加载图像还是因为当其他应用程序分配了大量内存时,recButton 以某种方式被释放了?

我在 Iphone 4 ios 5.1.1 上运行