iPhone 上的图像问题

发布于 2024-09-13 01:12:50 字数 199 浏览 8 评论 0原文

在我的应用程序中,我使用了大量基于界面生成器的图像。这样做的问题是,它使用大量内存,因为界面生成器会像“imageNamed”一样缓存它,因此我开始从界面生成器中的 imageViews 中删除图像,并在视图开始使用“imageWithContentsOfFile”时添加它们。几个小时后,我几乎没有取得任何进展,因为我实际上有数百张图像。我只是想知道是否有更直接的方法来做到这一点?

In my application I use lots of images based in interface builder. The problem with this is that it uses large amounts of memory because interface builder caches it much liked "imageNamed" so I've begun removing the image from imageViews in interface builder and instead adding them once the view starts using "imageWithContentsOfFile". After several hours I have made little progress because I have literally hundreds of images. I'm just wondering if there is a more straightforward way to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

淡墨 2024-09-20 01:12:51

是的,不要这样做。 UIImage 和整个 xib 业务几乎会延迟加载,直到需要时才加载,并在可能和需要的情况下删除缓存的图像。您甚至可以在 Instruments 中看到这种情况的发生。它有助于将您的设计拆分为多个 xib,以便在需要时加载它们。

但是,您可以做的是确保不缩放图像,而是按 1:1 的比例显示它们,并以可接受的最低质量保存它们。对于照片,请采用 JPEG。对于其他图像,请采用 PNG。

Yes, don't do it. UIImage and the whole xib business pretty much delay loading until things are needed, as well as drop cached images where possible and needed. You can even see this happening in Instruments. It helps to split your design over several xibs, so they can be loaded when needed.

What you can do however, is to make sure that you don't scale images but display them 1:1, and that you save them in the lowest acceptable quality. For photo's, take JPEG. For other images, take PNG.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文