适用于iPhone OS应用的可用内存 [英] Available memory for iPhone OS app
本文介绍了适用于iPhone OS应用的可用内存的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否有定义iPhone OS中应用程序可用内存量的函数或常量?
Is there a function or constant defining the amount of available memory for an app in iPhone OS?
我正在寻找与设备无关的方式(iPod touch) ,iPhone,iPad)知道应用程序剩余多少内存。
I'm looking for a device-independent way (iPod touch, iPhone, iPad) to know how much memory the app has left.
推荐答案
此函数将以字节为单位返回可用内存:
This function will return the available memory in bytes:
#import <mach/mach.h>
#import <mach/mach_host.h>
natural_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);
if (host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size) != KERN_SUCCESS) NSLog(@"Failed to fetch vm statistics");
natural_t mem_used = (vm_stat.active_count + vm_stat.inactive_count + vm_stat.wire_count) * pagesize;
natural_t mem_free = vm_stat.free_count * pagesize;
natural_t mem_total = mem_used + mem_free;
return mem_free;
}
这篇关于适用于iPhone OS应用的可用内存的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文