//gets the current device's available memory and the header file of the occupied memory#import<sys/sysctl.h>#import<mach/mach.h>//get current device available memory (in MB)- (Double) availablememory{vm_statistics_data_t vmstats; mach_msg_type_number_t Infocount=Host_vm_info_count; kern_return_t Kernreturn=Host_statistics (Mach_host_self (), Host_vm_info, (host_info_t)&Vmstats,&infocount); if(Kernreturn! =kern_success) { returnNsnotfound; } return((Vm_page_size *vmstats.free_count)/1024.0) /1024.0;}//gets the memory occupied by the current task in megabytes (MB)- (Double) usedmemory{task_basic_info_data_t taskinfo; mach_msg_type_number_t Infocount=Task_basic_info_count; kern_return_t Kernreturn=Task_info (Mach_task_self (), Task_basic_info, (task_info_t)&TaskInfo,&infocount); if(Kernreturn! =kern_success) { returnNsnotfound; } returnTaskinfo.resident_size/1024.0/1024.0;}
IOS gets current device available memory and current app occupied memory