2010-10-22 32 views
17

Tôi có thể lấy tổng bộ nhớ có sẵn theo:Android Làm thế nào để bạn nhận được tổng bộ nhớ RAM trong thiết bị?

ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 
MemoryInfo memoryInfo = new ActivityManager.MemoryInfo(); 
activityManager.getMemoryInfo(memoryInfo); 
memoryInfo.availMem; 

Tuy nhiên, làm thế nào để bạn có được Tổng bộ nhớ (RAM) của thiết bị?

tôi đã đọc: How do I discover memory usage of my application in Android?

Nó dường như không giống như thêm pidMemoryInfo.getTotalPss() mang lại cho tôi tổng bộ nhớ một trong hai.

+0

Tôi đoán bạn có thể thực hiện theo cách này 'memoryInfo.totalMem' –

Trả lời

14

Hãy thử làm việc này cho tôi.

public static String getTotalRAM() { 
    RandomAccessFile reader = null; 
    String load = null; 
    try { 
     reader = new RandomAccessFile("/proc/meminfo", "r"); 
     load = reader.readLine(); 
    } catch (IOException ex) { 
     ex.printStackTrace(); 
    } finally { 
     // Streams.close(reader); 
    } 
    return load; 
} 
+0

điều này không hoạt động lưu ý 3. – user65721

+0

không có điều này là không cung cấp cho bất kỳ kích thước bộ nhớ của RAM dude in của nó sau đó đọc đối tượng chuỗi như "người đọc là == [email protected]" –

+1

tại sao bình luận ra dọn dẹp? –

3

Nếu bạn không tìm thấy cái gì khác, bạn có thể bỏ qua android và đọc/proc/meminfo đó là những gì lệnh 'miễn phí' trên một bản phân phối Linux thông thường hơn không

3

Lớp MemoryInfo đã thêm totalMem vào API 16. Vui lòng thử.

tổng số công khai dàiMem Đã thêm ở cấp API 16 Tổng bộ nhớ có thể truy cập bởi hạt nhân. Điều này về cơ bản là kích thước RAM của thiết bị, không bao gồm phân bổ cố định dưới dạng hạt nhân như bộ đệm DMA, RAM cho CPU baseband, v.v.

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