gpt4 book ai didi

objective-c - IOS应用程序中的虚拟和实际内存

转载 作者:行者123 更新时间:2023-11-28 20:35:01 25 4
gpt4 key购买 nike

我的应用在物理上占用的内存量(例如在硬盘驱动器上)与其运行时占用的内存量有任何关系吗?例如,假设我的 Background.caf 文件在磁​​盘上占用 4.9 兆字节的空间,当在 iPhone 上运行时,是否恰好为我的音乐分配了 4.9 兆字节?同样,如果我的图形占用 20 兆字节的空间,那么 iPhone 上用于存储和访问这些图形的内存量是否相当于 20 兆字节?这很重要,因为我想知道我现在正在处理的文件大小是否会对性能产生很大影响。谢谢!

最佳答案

Does the amount of memory that my app take up physically, as in, on a hard drive, have any relationship to the amount of memory it takes up when running?

不,绝对不是。否则 Autodesk 很快就会倒闭!

when being run on the iPhone, is exactly 4.9 megabytes being allocated for my music?

不,音乐不会一次性全部加载到内存中,它会以 block 、流的形式发送或实时解压缩,但永远不会将整个内容都显示在内存中。

Similarly, if my graphics take up 20 megabytes of space, will the amount of memory on the iPhone, being used to store and access these graphics be equivalent to 20 megabytes

这取决于。 UIImages 根据调用的方法按需加载和缓存(例如 +imageNamed: 被缓存,而 +imageWithContentsOfFile: 不是),但是,PNG 资源总是占用更多内存大于文件大小,因为 Xcode 在将它们加载到包中之前运行了一系列优化和压缩。缓存图像确实会稍微增加整体内存占用量,但是,它会导致更快的图像加载,因为 UIImage 不必再次在磁盘上寻找它。

JPEG 图像再次改变了这一点,它具有著名的文件格式特定有损压缩机制,使它们在磁盘上的体积小得多,但在内存中却很大。

关于objective-c - IOS应用程序中的虚拟和实际内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10887869/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com