Available memory for iPhone OS app

前端 未结 3 610
遇见更好的自我
遇见更好的自我 2020-11-27 11:30

Is there a function or constant defining the amount of available memory for an app in iPhone OS?

I\'m looking for a device-independent way (iPod touch, iPhone, iPad)

3条回答
  •  孤街浪徒
    2020-11-27 12:22

    This function will return the available memory in bytes:

    #import  
    #import 
    
    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;
    }
    

提交回复
热议问题