ios – 分配工具中的“匿名VM”是什么意思?

ios – 分配工具中的“匿名VM”是什么意思?,第1张

概述我的应用程序中经常出现内存警告,但我不知道为什么. 以下是分配工具的快照. 我知道我们对分配给我们的虚拟内存没有任何控制权,但我试图了解26.50 MB对于开发人员来说意味着什么信息. 1. What does a high VM means ? Does it lead to a jetsam ? Is that cause of any other concern ? 2. Is thi 我的应用程序中经常出现内存警告,但我不知道为什么.
以下是分配工具的快照.

我知道我们对分配给我们的虚拟内存没有任何控制权,但我试图了解26.50 MB对于开发人员来说意味着什么信息.

 1. What does a high VM means ? Does it lead to a jetsam ? Is that cause of any other concern ? 2. Is this value dependent on device ? 3. Does a low vm means that your app is memory efficIEnt  4. Does a high VM leads to memory warnings in your app ? 5. What cause this value to change ?  6. What steps should a developer take when they see a high vm for their app (like 300 MB) ?  7. Is VM tracker instrument related to this value ?
解决方法 匿名VM涵盖了很多东西,其中一些是你想要最小化的东西,一些通常不那么重要. “anonymous VM”的简短版本是它已映射但未命名的地址.堆分配得到“命名”,可以将它们作为对象进行跟踪.但是有很多(和很多)非对象的东西属于“匿名虚拟机”桶.

分配有malloc的东西可以在这个地区结束.还有内存映射文件.你的可执行文件是一个内存映射文件,但由于它永远不会变脏,所以它的一部分可以被换掉.所以“这很复杂.”但是,用大而模糊的术语来说,是的,你确实关心这一部分,但你可能并不关心所有这一切.堆分配往往会跟踪您的ObjC内容.匿名VM通常会跟踪您没有很多直接控制的内容(例如CALayer后备存储).

总而言之,您提供的仪器输出看起来不像任何重大问题.我怀疑这并不表示你正在给记忆加压.你需要让自己陷入记忆警告状态,看看当时发生了什么,并深入研究使用内存的具体细节.

有关这方面的更多详细信息,您应该观看WWDC 2013 session 704 “Building Efficient OS X Apps”,其中大部分都是深入研究的.虽然iOS有一些不同的内存系统,并且iOS上没有一些OS X工具,但许多概念仍然适用.

总结

以上是内存溢出为你收集整理的ios – 分配工具中的“匿名VM”是什么意思?全部内容,希望文章能够帮你解决ios – 分配工具中的“匿名VM”是什么意思?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1105602.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存