使用Instruments监视缓存对象的内存分配

2.8 秘诀:使用Instruments监视缓存对象的内存分配 可以通过模拟器的一个特性测试应用程序在低内存状况下如何响应。选择Hardware(硬件)→Simulate Memory Warning(模拟内存警告),发送对应用程序委托和视图控制器的调用,请求它们释放不需要的内存。用于实时查看内存分配的Instruments可以监视那些释放。它确保在遇到警告时,应用程序能妥善应对。借助Instruments,可以测试内存策略,例如本章前面讨论的缓存。 秘诀2-2创建一个基本的图像缓存。该图像缓存不是从Web检索数据,而是构建空的UIImage对象来模拟实际用例。当遇到内存警告时,缓存作出响应,即释放它的数据,如图2-13所示。 图2-13 Instruments帮助监视对象的内存分配,让你可以测试遇到内存警告时采取的释放策略 这里显示的阶梯模式表示通过按Consume(消耗)按钮导致的3次内存分配。然后,模拟器发出内存警告。作为响应,缓存释放它存储的图像。于是,内存回到它之前的水平。Instruments允许保存跟踪数据,显示应用程序在不同时期的性能。选择File(文件)→Save(保存),创建一个新的跟踪文件。通过比较不同时期的运行状况,可以评价应用程序不同版本之间在性能和内存管理方面的变化。 有些SDK对象会根据需要被自动缓存和释放。UIImage imageNamed:方法便是以这种方式检索和缓存图像,但是,这种方法由于不能流畅地运行,并且保留了本该释放的内存,所以声誉不太好。用于构建UIViewControllers的nib也被缓存,并在控制器需要出现时重新加载。 说明 和前两代iPhone的一般经验法则一样,应用程序最多可以使用大约20 MB的内存,超过此数将导致内存警告,如果使用的内存超过大约30 MB,iPhone OS将终止你的应用程序。 秘诀2-2 图像缓存演示 获取这一秘诀的代码 要获取这一秘诀的代码,请访问http://github.com/erica/iphone-3.0-cookbook-,如果你已经下载了包含本书所有示例代码的磁盘映像,请打开第2章的文件夹查看关于这一秘诀的项目。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值