问题标签 [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 - IOS - 模态 UIView 在内存警告后失去委托
我几乎完成了我的 iPhone 应用程序,并且正在使用 XCode 4 和 IOS Simulator 进行测试。我的应用程序有一系列视图打开模式:
视图 1 --> 模态 --> 视图 2 --> 模态 --> 视图 3 --> 模态 --> 视图 4
视图 2 是视图 3 的代理,视图 3 是视图 4 的代理。
如果 View4 可见并且我尝试“模拟内存警告”,那么我可以返回 View3,但 View3 无法调用其委托 ( [self.delegate NotifySave:self]
)。
如果我在调用委托之前放置断点,我会看到“0x0”而不是“0xsomething”。即使我使用“主页”按钮“退出”应用程序,当我再次运行应用程序时,问题(当然)仍然存在。
问题是:
- 其他人是否遇到过同样的问题?
- 这个问题只能在模拟器上存在吗?(我无法在真实 iPhone 上重现警告)
- 有人有什么建议吗?
- 我可以阻止 View2 被释放吗?(我认为这是问题的原因)
感谢大家的帮助。
ios5 - ViewController 中的控件在屏幕外出现内存警告后失去其状态
这种情况与我的另一个问题所描述的情况非常相似,只是代表团似乎工作正常。我正在提供有关我的代码的更多详细信息。我只是删除不相关/琐碎的部分。
报告屏幕.h
报告屏幕.m
地图屏幕.h
地图屏幕.m
问题是:
- ReportScreen 推送(实际上执行 segue)MapScreen。
- 如果我在 UITextView 中有一些数据,或者我为 ReportScreen 中的按钮设置了一些状态,并且在按下 MapScreen 时收到内存警告,那么一旦我返回 ReportScreen,所有这些字段都不会显示这些设置。显然 textView.text 仍然设置,按钮的状态也是如此,它们只是没有显示。
问:为什么?
objective-c - 标量 ivar 和内存警告或 viewUnLoad
我有一个带有标量 ivars 的 UIViewController。我想知道当控制器收到内存警告时会发生什么。
testBool 将保持不变或将被重置?
类.h
ios - 基于可用 RAM 或 iOS 内存警告级别的自适应图像缓存
我有一个缓存大图像的应用程序,这样用户就不用等待 imageWithContentsOfFile。作为一般规则,我缓存上一张和下一张图像。
1) 我可以根据 iPad 中的可用内存来自适应缓存吗?如果是,阈值应该是多少?下面是计算可用内存的函数
2)我知道没有办法(除了私有/未记录的 API)知道内存级别警告,否则它可能是确定我可以缓存多少页的好因素。但只是为了确认我可以以某种方式使用它们。
3)现在我正在考虑缓存 3 个屏幕(有 6 个图像),如果我的 ViewController 收到内存警告,我会卸载除可见屏幕之外的所有屏幕,并将要缓存的屏幕数重置为 2 个(4 个图像)。但我没有发现它进行了优化,因为要么我缓存的数量少于可能的缓存,要么在某些情况下甚至加载 4 会导致崩溃。
iphone - LLDB 用它的地址识别一个对象
我正在开发从以前的开发人员那里恢复的 iPad 应用程序。有时我会收到以下消息:
应用程序停在
我知道,在应用程序收到内存警告后,应用程序正试图从一个已经被释放的类中执行一个函数。问题是,正如我所说,我没有开发应用程序,所以我找不到问题发生的地方,即使NSZombies
启用了。
有没有办法使用带有对象内存地址(在我的情况下为 0x2b1c70)的 LLDB(或任何其他方式)来检索问题发生的位置?
objective-c - 在 ARC 项目中,类 (A) 继承自非 arc 文件中包含的另一个类 (B)
当我在我的项目中使用A并在模拟器中模拟内存警告时,应用程序经常在[super didReceiveMemoryWarning]中崩溃。如果我想从 ARC 项目中的非 ARC 文件继承类,有什么需要注意的吗?任何建议将不胜感激。
objective-c - ARC 中的 didRecieveMemoryWarning (iOS / Obj-C)
我有一个使用 ARC(自动引用计数)的 iOS(Obj-C)项目。根据 Apple 文档和纯实验,您不能有以下陈述:
这是以前在分配或保留后释放项目的方式。现在我知道您必须管理如何在
头文件的一部分。
对于我的所有 IB 项目,我一直按原样使用上述语句(使用非原子和保留(或强-无论如何有什么区别,它们是如何使用的?)属性)。当我在 iOS 设备上进行测试时,我会随机获得一个 UIAlertView(我为调试目的而创建的),它仅在触发didRecieveMemoryWarning事件时显示。
我的一些 BETA 测试人员不停地被这些视图轰炸,直到他们设法退出应用程序。
我的问题是,由于我无法释放对象,我应该在 didRecieveMemoryWarning 事件中添加什么?如果没有任何东西可以放在那里,那么这些错误是由于我使用 @property 函数创建对象的方式而发生的吗?
iphone - 使用模型视图控制器模拟内存警告问题
我有一个标签栏应用程序。每个选项卡都包含导航控制器,允许用户从一个视图转换到另一个视图。每个视图都由视图控制器处理,每个视图控制器类都有 -didReceiveMemoryWarning 方法。
问题:当我在任何模型视图控制器中使用 iPhone 模拟器的“硬件 > 模拟内存警告”选项之后,如果我想使用 - 关闭该控制器 -
然后,不会为我添加了该模型视图控制器的控制器调用 viewDidLoad 方法,并且应用程序在那里崩溃。任何想法,我做错了什么。
ios - didReceiveMemoryWarning 和 dealloc 是什么关系?
dealloc
在内存压力下会被调用吗?如果是真的,它是在之前didReceiveMemoryWarning
还是之后调用?另外,当视图控制器被释放时,确定dealloc
会被调用吗?
ios - 我可以在 viewDidDisappear 中调用 [super didReceiveMemoryWarning] 吗?
'我使用 ARC 和 UINavigationController 在 10 个视图控制器之间切换。一切都很好,但过了一会儿didReceiveMemoryWarning
被调用(因为所有打开的视图控制器)并[super didreceivememorywarning]
清除了所有不是 Super 的视图控制器。这对我来说是完美的。唯一的问题是,当它被调用时,应用程序会滞后一秒钟。
我可以调用[super didreceivememorywarning]
每个视图控制器的viewDidDisappear
吗?当我测试它时,它工作得很好,但它允许/愚蠢吗?如果没有,我如何释放每个不是 Super 的视图控制器?