2010-10-22 14 views
17

मैं द्वारा कुल उपलब्ध स्मृति प्राप्त कर सकते हैं:एंड्रॉइड डिवाइस में कुल मेमोरी रैम कैसे प्राप्त करता है?

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

हालांकि, कैसे आप डिवाइस के कुल स्मृति (RAM) मिलता है?

मैंने पढ़ा था: How do I discover memory usage of my application in Android?

यह pidMemoryInfo.getTotalPss जोड़ने() मेरे कुल स्मृति देता है या तो की तरह प्रतीत नहीं होता।

+0

मुझे लगता है कि आप इस तरह से कर सकते हैं 'memoryInfo.totalMem' –

उत्तर

14

यह मेरे लिए काम करता है की कोशिश करो।

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

यह काम नहीं करता है नोट 3. – user65721

+0

नहीं, यह राम के किसी भी मेमोरी आकार को प्रिंट नहीं करता है, फिर स्ट्रिंग ऑब्जेक्ट जैसे "रीडर है == [email protected]" –

+1

क्लीनअप पर टिप्पणी क्यों करें? –

3

आप कुछ और नहीं मिल रहा है, तो आप एंड्रॉयड बाईपास और पढ़ सकता है/proc/meminfo है जो 'मुफ्त' एक और अधिक साधारण Linux वितरण पर कमांड करता

3

MemoryInfo वर्ग एपीआई 16. में totalMem जोड़ा गया है एक कोशिश दे।

सार्वजनिक लंबे कुल मेम एपीआई स्तर 16 में जोड़ा गया कुल स्मृति कर्नेल द्वारा सुलभ। यह मूल रूप से डिवाइस का रैम आकार है, जिसमें नीचे-कर्नेल फिक्स्ड आवंटन जैसे डीएमए बफर, बेसबैंड सीपीयू के लिए रैम, आदि शामिल नहीं हैं

संबंधित मुद्दे