title: Is it legal to use the well-known free memory code in ipad/iphone app?
body: <p>Memory is an issue for iphone ipad app, especially for ipad, if one wants to do something big.</p>
  
  <p>Well, these two snippets of codes can 1. get current available memory of the device; 2. force free memory. </p>
  
  <p>Can we use it in the app? Will appstore allow this?</p>
  
  <pre><code>#import &lt;mach/mach.h&gt;
  #import &lt;mach/mach_host.h&gt;
  
  static void print_free_memory () {
  mach_port_t host_port;
  mach_msg_type_number_t host_size;
  vm_size_t pagesize;
  
  host_port = mach_host_self();
  host_size = sizeof(vm_statistics_data_t) / sizeof(integer_t);
  host_page_size(host_port, &amp;pagesize); 
  
  vm_statistics_data_t vm_stat;
  
  if (host_statistics(host_port, HOST_VM_INFO, (host_info_t)&amp;vm_stat, &amp;host_size) != KERN_SUCCESS)
  NSLog(@"Failed to fetch vm statistics");
  
  /* Stats in bytes */ 
  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;
  NSLog(@"used: %u free: %u total: %u", mem_used, mem_free, mem_total);
  }
  </code></pre>
  
  <p>Free memory</p>
  
  <pre><code>/* Allocate the remaining amount of free memory, minus 2 megs * /
  size_t size = freemem - (2*1024*1024);
  void *allocation = malloc(size);
  bzero(allocation, size);
  free(allocation);
  </code></pre>