objective-c - 在 iOS 中加载大图像并通过 outlet 调整大小

标签 objective-c ios image

我正在使用 iOS 和大小为整个 iphone 屏幕的图像(取决于设备的分辨率)。

我必须创建一个工具栏,其中有许多这些图像作为缩略图,但我只有全尺寸图像作为资源。

我的问题是,如果我将每个图像都加载为 UIButton 背景,并且将按钮的大小调整为例如 68x68px,图片分配的内存量是否与以全分辨率加载时相同?

我之前必须对这些图像进行压缩处理吗?

谢谢。

最佳答案

我认为内存管理问题取决于您未提供的许多细节。例如:您在代码中加载了多少次图像?如果您多次使用 [UIImage imageNamed:@"bigImage"],那么 iOS 将很乐意再次加载图像。但如果你只这样做一次,并多次使用 UIImage 对象,那么内存中将只有一个图像副本。

至于按钮本身占用多少内存,我就不知道了。我的猜测是,它要么不会向您的应用程序的内存足迹添加任何内容(超出底层 UIImage 对象),要么只是 68x68 屏幕缓冲区所需的内存。

综上所述,如果我处于您的情况,作为开发的一部分,我可能会自己创建较小的按钮大小的图像,并将它们包含在应用程序中。我认为这也会在运行时产生效率优势。如果您要动态调整按钮的大小,那么您的方法也许会奏效,但我仍然会从设计的角度对其进行一些审查 - 动态调整按钮的大小并不常见。

关于objective-c - 在 iOS 中加载大图像并通过 outlet 调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9671066/

相关文章:

android - setImageURI(url) 在 Fresco 中已弃用。用什么代替?

ios - 如何在没有类名的情况下推送下一类而不是在 iOS 中使用 NSString?

iOS Core ML 和 DBSCAN Python scikit 模型

ios - 使用公共(public) IP 时 CFStream 连接无法连接

php - 转换 iPhone 时间戳

c# - 序列化图像并将其存储在 XML 文件中

html - <img srcset ="..."> 与 <picture><source> 相比?

objective-c - 如何以编程方式加载 Webview 中的特定 url?

objective-c - 在 UITableView 中显示建议的位置

ios - 文件是为存档而构建的,这不是正在链接的架构(armv7s)