关于viewDidUnload导致视图reload的问题
来源:互联网 发布:李刚疯狂java讲义视频 编辑:程序博客网 时间:2024/06/10 14:17
今天遇到一个问题:在ios程序收到内存警告后,程序调用当前不可见视图的viewdidunload时,出现controller马上调用viewdidload的情况,程序给出警告——“viewdidunload的实现导致视图reload,这将会严重影响系统性能”。
错误信息:
MyViewController implementation of -viewDidUnload caused the view to be reloaded. This will adversely impact system performance.
查找资料后发现,这是由于在viewdidunload中使用了controller的view属性造成的。原因是view释放之后系统调用的viewdidunload,这时再调用view,controller需要重构view。于是出现了前面的一幕。解决办法是去掉对controller的view的调用。
另外,如果想保持controller的视图在收到内存警告后不被系统自动释放,有如下办法:
1、重载controller的didReceiveMemoryWarning方法,不过需要注意一点,要注释以下语句:
//[super didReceiveMemoryWarning];
2、重载controller的setView:方法:
-(void)setView:(UIView*)view { if(view != nil || self.okayToUnloadView) { [super setView:view]; }}
- 关于viewDidUnload导致视图reload的问题
- 关于视图的更新问题
- 关于视图的相关问题
- 关于视图生命周期的问题
- 关于reload(sys) sys.defaultencoding问题
- 关于navigationController,前后2个视图控制器navigationBar隐藏属性不同,导致右滑手势失效问题的解决办法
- 解决使用BadgeView导致视图显示错误的问题
- 关于pjax.reload()加载页面时出现aborted超时终止的问题
- 关于window.location.reload在IE浏览器中不刷新的问题
- 关于NotesUIDocument的AutoReload, reload和refresh
- 关于 UIWebView reload 失效的 一种情况
- 关于 UIWebView reload 失效的 一种情况
- nginx关于reload的两个错误解决方法
- 关于waitForCondition导致死锁的问题
- 关于SIGPIPE导致进程终止的问题
- 关于waitForCondition导致死锁的问题
- 关于CALayer导致的crash问题
- 关于CALayer导致的crash问题
- 谷歌新算法的更新与影响
- Gwt 整合FusionCharts及封装搜狗地图时出现的问题
- FastDFS的配置、部署与API使用解读(2)以字节方式上传文件的客户端代码
- SSH不用密码登录远程主机
- Clock
- 关于viewDidUnload导致视图reload的问题
- hibernate 联合主键 composite-id
- 第三方平台接口接入详解
- php之表单过期处理
- Linux操作集锦
- C#基础-namespace
- CListCtrl 列表框控制的使用
- Tutorial: Detecting When A User Blows Into The Mic
- forward、sendRedirect及Jsp和Servlet之间的跳转