IOS RAM使用和框架

时间:2014-02-06 08:55:08

标签: ios

我正在研究iOS及其演出,我有一个问题!

首先,我使用原生SDK实现了一个完整的应用程序。我在应用程序的主包中添加了所有源代码。

然后,我用5个自定义框架(.framework)实现了相同的应用程序。我已经提取了所有独立于任何应用程序的源代码。例如,我有一个管理http请求的框架(发送,获取响应......)。

最后,我检查了用于2个应用程序的RAM。为此,我在iPhone 5S上关闭了后台的所有应用程序。然后,我已经启动了每个应用程序版本,我已经检查了空闲RAM。当我比较两个结果时,我注意到当第一个应用程序启动时,空闲RAM为272,39 Mo(第二个应用程序关闭)。然而,当第二个应用程序启动时,空闲RAM为325,33 Mo(第一个关闭)。

获得空闲记忆。我使用了这个方法:

vm_size_t freeMemory(void) {
   mach_port_t host_port = mach_host_self();
   mach_msg_type_number_t host_size = sizeof(vm_statistics_data_t) / sizeof(integer_t);
   vm_size_t pagesize;
   vm_statistics_data_t vm_stat;

   host_page_size(host_port, &pagesize);
   (void) host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size);
   return vm_stat.free_count * pagesize;
}

所以,我真的不明白这种差异。我认为我的框架只在我在应用程序中使用它时才加载到RAM中,而不是在第一次启动应用程序时。这样对吗?如果这是对的。当我使用框架时,如何获得框架的加载时间?我尝试使用Instrument with Time分析器,但我没有看到任何似乎是框架加载。

先谢谢您的答复。 最好的问候。

ps:对不起我的英语,我是法国人!

0 个答案:

没有答案