2012-07-11 48 views
8

Tôi muốn biết Tổng số RAM có sẵn trong iPhone của mình. Đối với điều này tôi đã sử dụng mã sau đây.Tổng số RAM trong iPhone

Lưu ý: Vui lòng không diễn giải câu hỏi để truy xuất thống kê RAM như có dây, không hoạt động, đang hoạt động và miễn phí.

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, &pagesize); 
    vm_statistics_data_t vm_stat; 
    if (host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size) != KERN_SUCCESS) { 
     NSLog(@"Failed to fetch vm statistics"); 
     return; 
    }  

    /* Stats in bytes */ 
    self.wired = vm_stat.wire_count * pagesize/(1024 * 1024); 
    self.active = vm_stat.active_count * pagesize/(1024 * 1024); 
    self.inactive = vm_stat.inactive_count * pagesize/(1024 * 1024); 
    self.free = vm_stat.free_count * pagesize/(1024 * 1024); 
    self.used = self.active + self.inactive + self.wired; 
    self.total = self.used + self.free; 

Dưới đây là kết quả:

  • Simulator: tổng bộ nhớ = 2045 (máy tính của tôi chứa 2GB RAM). Có vẻ đúng.
  • Thiết bị (iPhone 4): tổng bộ nhớ = 390 (should be 512). Sai.
  • Thiết bị (iPhone 3GS): tổng bộ nhớ = 84 (should be 256). Sai.

Vui lòng cho tôi biết nếu đây là cách chính xác để tính TOTAL RAM của iDevice?

+3

có thể trùng lặp của http://stackoverflow.com/questions/8032635/responding-to-ram-availability-in-ios/8072278#8072278 –

Trả lời

2

Bạn không thể đọc tổng dung lượng RAM của thiết bị. Bạn chỉ có thể đọc ước tính RAM đã sử dụng và RAM miễn phí của mình. Thiết bị của bạn sẽ luôn sử dụng một số bộ nhớ (cho hệ thống, cho các ứng dụng nền, một quy trình khác), do đó bạn sẽ không bao giờ thấy "hoàn toàn 512" của mình. Tại sao mô phỏng cho một giá trị gần? Người đàn ông, đó là giả lập ... Nếu bạn muốn biết RAM, hãy đọc thông số kỹ thuật của thiết bị của bạn. Nhưng với phương pháp được đăng bởi bạn, (như tôi đã nói), bạn sẽ nhận được mem miễn phí/được sử dụng. Chúc mừng.

-1

There is an Git project hiển thị RAM tối đa có sẵn trên iPhone của bạn. Nó cũng cấp phát bộ nhớ cho đến khi nó bị treo. Nó giúp tiết kiệm giá trị cho cảnh báo bộ nhớ cũng như khi ứng dụng gặp sự cố. Vào lần bắt đầu tiếp theo, bạn sẽ hiển thị các giá trị trên một thanh.

Source

enter image description here

Các vấn đề liên quan