raa*_*aaz 7 cocoa-touch memory-management ios
applicationDidReceiveMemoryWarning和之间有什么区别didReceiveMemoryWarning?处理这些警告的最佳方法是什么?
Mug*_*nth 11
您应该在所有视图上使用"延迟加载"数据.例如,如果要在表视图上显示数据列表,则应在视图控制器收到didReceiveMemoryWarning数据并将数据指针设置为nil 时释放数据.
大多数Apple示例代码都强调这种延迟加载技术.
applicationDidReceiveMemoryWarning是发送到AppDelegate的类似消息.您应该发布存储在AppDelegate中的不需要的全局数据.
一个典型的例子是Safari.在Safari中打开2-3个标签(在iPhone模拟器上).让所有标签加载网页内容.尝试在不同标签之间切换.您应该注意到内容仍然存在且未刷新.现在从菜单中关闭"模拟内存警告".现在,当您切换到其他选项卡时,Safari将再次获取内容.在内部发生的是,URL被记住,但整个网页内容在didReceiveMemoryWarning方法中被释放.
您还应该在应用中实现类似的机制.
| 归档时间: |
|
| 查看次数: |
2759 次 |
| 最近记录: |