iOS6后的内存警告处理
【iOS6后的内存警告处理】
The memory used by a view to draw itself onscreen is potentially quite large. However, the system automatically releases these expensive resources when the view is not attached to a window. The remaining memory used by most views is small enough that it is not worth it for the system to automatically purge and recreate the view hierarchy.
iOS6后UIKit框架会自动将view中的图片资源给释放掉,而不会将view对象本身给释放掉。因为和位图内存相比,view对象本身所占内存小到可以忽略。所以iOS6起后,didReceiveMemoryWarning默认会做的事情是把把位图资源释放掉,简而言之就是程序员不用再考虑了,UIKit会自动做。而view对象都会被保留。
如果程序员需要自己释放资源,可以这像下面这样写。
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Add code to clean up any of your own resources that are no longer necessary.
if (self.isViewLoaded && [self.view window] == nil)
{
// Add code to preserve data stored in the views that might be
// needed later. // Add code to clean up other strong references to the view in
// the view hierarchy.
self.view = nil;
}
iOS5默认会释放位图资源与卸载view对象,iOS6默认只释放位图资源。而为了统一处理,可以用上述代码,iOS6后自主卸载view对象。另外viewWillUnload与viewDidUnload这2个方法就没有意义了,把想关代码都移到上述代码中即可。
2、http://justsee.iteye.com/blog/1820588
iOS6后的内存警告处理的更多相关文章
- ios6 处理内存警告
iPhone下每个app可用的内存是被限制的,如果一个app使用的内存超过20M,则系统会向该app发送Memory Warning消息.收到此消息后,app必须正确处理,否则可能出错或者出现内存泄露 ...
- UIViewController的生命周期及iOS程序执行顺序 和ios6 处理内存警告
当一个视图控制器被创建,并在屏幕上显示的时候. 代码的执行顺序1. alloc 创建对象,分配空间2.init (initWithN ...
- ios系统 处理内存警告
iPhone下每个app可用的内存是被限制的,如果一个app使用的内存超过20M,则系统会向该app发送Memory Warning消息.收到此消息后,app必须正确处理,否则可能出错或者出现内存泄露 ...
- ##DAY3 自定义视图、视图控制器、视图控制器指定视图、loadView、 viewDidLoad、MVC、屏幕旋转、内存警告
##DAY3 自定义视图.视图控制器.视图控制器指定视图.loadView. viewDidLoad.MVC.屏幕旋转.内存警告 #pragma mark ———————自定义视图的步骤 —————— ...
- ios 处理内存警告
iPhone下每个app可用的内存是被限制的,如果一个app使用的内存超过20M,则系统会向该app发送Memory Warning消息.收到此消息后,app必须正确处理,否则可能出错或者出现内存泄露 ...
- 解决MWPhotoBrowser中的SDWebImage加载大图导致的内存警告问题
下面两种现象,用同一种方法解决 1.解决MWPhotoBrowser中的SDWebImage加载大图导致的内存警告问题 2.突然有一天首页访问图片很慢,至少隔20多秒所有图片才会出来.(解析:app使 ...
- IOS内存警告处理
IPhone下每个app可用的内存是被限制的,如果一个app使用的内存超过20M,则系统会向该app发送Memory Warning消息.收到此消息后,app必须正确处理,否则可能出错或者出现内存泄露 ...
- 解读AppIcon图标设置置信息和App内存警告临界值
前面有同学问到了iOS内存警告临界值和工程项目里AppIcon的一些配置信息,相信对刚入行的同学来说,可能都会碰到类似的问题,记录一下供后来者查询. 1.先简单说下AppIcon的图标的配置信息 1) ...
- 控制器View的加载和内存警告流程图
控制器View的加载 内存警告
随机推荐
- hibernate之xml映射文件关系维护,懒加载,级联
一:关系维护 --->inverse默认值false,表示不放弃关系的维护. --->inverse="true"配置在那一端,表示那一端xml对应的po放弃关系的 ...
- linux环境下maven的安装配置
1.到官网下载maven,上传到服务器上 https://maven.apache.org/download.cgi 2.将压缩包上传服务器对应路径解压: tar -zxvf apache-maven ...
- ccflow之相对路径
最近在使用集成CCFlow系统时,在项目中直接运行可以,但发布到项目时老是报找不到文件的错误,后跟踪发现 BP.WF.Dev2Interface.UI_Window_OneWork(this.FK_F ...
- bzoj 4372 烁烁的游戏——动态点分治+树状数组
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4372 和 bzoj 3070 震波 是一个套路.注意区间修改的话,树状数组不能表示 dis ...
- 推荐一个React 入门的教程
推荐一个React 入门的教程 react 入门实例教程 Github地址:https://github.com/ruanyf/react-demos
- java web Servlet开发(一)
一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...
- erlang程序发布的时候需要注意的地方
假如你的程序依赖三方application,比如cowboy,启动三方程序有两种方式 在erl脚本里面手工启动,这种在使用rebar generate打包的时候和发布beam的时候都可以用 appli ...
- WebService返回json格式数据供苹果或者安卓程序调用
1.新建一个WebService. 2. /// <summary> /// DemoToJson 的摘要说明 /// </summary> [WebService(Names ...
- lodop打印控件需要开启的几个计算机服务
首先要开启: 其次:
- HDU 2143 Can you find it?(基础二分)
Can you find it? Time Limit: 10000/3000 MS (Java/Others) Memory Limit: 32768/10000 K (Java/Others ...