一方面,我只是好奇。
另一方面,我必须以某种方式计算创建的图像数量(以触发一定数量的清理)。不幸的是,内存警告通知我太晚了,应用程序在我有机会做出反应之前就被终止了,所以我想解决这个问题。
我可以用一个全局计数器分散在我的项目周围,在我进行任何 UIImage 操作之前它会递增,但显然这正是我想要避免的,这将导致无法维护的设计。
所以我在考虑子类 UIImage 初始化程序(某种 MYImage 类),而不是在整个项目中使用 MYImage,但 UIImageView 无论如何都会使用 UIImages(也许我可以设置 UIImageView 的 setImage 方法,但我敢打赌 UIKit 在很多情况下使用实际的 _image 实例变量)。
最好的办法是从 UIImage 大小中计算像素数量,这样我就可以将图像内存刷新到给定的像素数之上。
有什么通知吗?通过类别的东西?或者某种 NSObject KVO 观察(对类/方法名称进行文字检查)?你有想法/经验吗?