通过什么在Xcode中分配仪器模板永久性和瞬态列的真正含义

问题描述 投票:13回答:2

我想明白了,什么是配置模板意思临时和永久柱。从http://www.raywenderlich.com/97886/instruments-tutorial-with-swift-getting-started我已经找到了教程“的执着柱保持每种类型的对象的数量的计数目前存在于内存中。瞬态列显示已经存在,但至今已释放对象的数量。持久性对象是使用了内存,临时对象有自己的内存释放。“enter image description here

根据以上的说明中,从在从画面统计表中选择的行,也可以说,的NSFileManager的2个对象当前存在于存储器和19没有。正在创建的对象和已经被释放。

但是,这是什么意思为iOS应用程序优化或性能问题?喜欢的东西,在这里临时对象的19个总没有这是一个相当大的数字,应该是小的,如果有可能提高应用程序的有效存储可用性还是其他什么东西?

ios objective-c xcode swift xcode-instruments
2个回答
5
投票

优化的短期手段使您的应用程序还活着,响应性能。优化的主要指标是不是一个对象短暂或持续性计数。

根据这些信息,您NSFileManager使用16个字节为每个对象。因此,这32目前持续(2 * 16)和336(21 * 16)总。

高持久性存储器指出您的当前足迹是给定对象非常高。高总内存表明你在过去的足迹可能是高的(如果这些分配的子集是同时的)

While optimizing you should focus on mainly two aspects:
 1. How much is the minimum memory foot print when your app loads.
 2. How much is the maximum memory foot print. (You need to come up with use cases to figure out this one). 

当你的内存占用增加你的应用程序中,因为OS做以释放内存多页互换性能减慢。您可以通过VM跟踪仪追踪此。优化意味着保持你的平均内存占用降低了这一点。


2
投票

持久性对象是使用内存,临时对象有他们的内存释放。

首先说#持久。这是正在极力在你的项目,在这个时刻引用持久对象的数量。第二个说:#瞬态。这是一个曾经被强烈保留,但现在已经不存在释放对象的数量。这是方便,因为它可以让你知道,如果一个对象被清理正确,或者如果不再保留在特定时刻的对象。第三个说#共有。这是加在一起持久的和临时对象的总数。

© www.soinside.com 2019 - 2024. All rights reserved.