UI图像分配问题
我在 UIScrollView 中有 3 个 UIImage,我用以下方式初始化这些图像:
UIImage *dimage = [[UIImage alloc] initWithData:data];
其中 data 是从 url 请求获取的 NSdata。之后我缓存图像。 当我检查内存分配时,3 个图像各占用 472 Kb,并且 CoreGraphics 库中的“img_data_lock”已请求分配。 当我检查磁盘缓存上该图像的大小时,每个图像为 230Kb。
我不知道如何才能占用更多空间。我希望我的问题很清楚。
I have 3 UIImages in UIScrollView and I am initializing these images in the following way:
UIImage *dimage = [[UIImage alloc] initWithData:data];
Where data is a NSdata gotten from url request. After this I am caching the images.
When I check memory allocation the 3 images takes up 472 Kb each and allocation has been requested by "img_data_lock" from CoreGraphics library.
When I check size of that image on disk cache it was 230Kb each.
I dont know how can it take more space. I hope my question is clear.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不确定您正在查看什么“磁盘缓存”,但内存和磁盘使用情况只有微弱的相关性。用于创建 UIImage 的数据只是该对象实际使用的数据的一部分。这意味着活动对象将可以使用比创建它的数据更多的内存。
更复杂的是,UIImage 将在内存不足的情况下清除自身的图像数据,因此 UIImage 对象的大小在其存在过程中可能会有很大变化。
Not sure what "disk cache" you're looking at but memory and disk usage are only weakly related. The data used to create an UIImage is only part of the data the object actually uses. This means an active object will can use more memory than the data that created it.
To further complicate things, UIImage will purge itself of image data under low memory situations so size of UIImage object can vary widely over the course of its existence.