2016-04-18 6 views
1

Wenn ich meine App auf LG G4 oder Note 3, die 3 GB RAM hat ausführen, zeigt es, dass das Gerät 2 GB RAM hat. Kann jemand erklären, wo das Problem liegt?Wie bekomme ich den gesamten RAM-Speicher des Geräts?

ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo(); 
    ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE); 
    activityManager.getMemoryInfo(mi); 
    long freeMemory = mi.availMem/1048576L; 
    long totalMemory = mi.totalMem/1048576L; 
    long usedMemory = totalMemory - freeMemory; 
    SharedPreferences sharedPreferences = getApplicationContext().getSharedPreferences(Util.MyPREFERENCES, 0); 
    String status = sharedPreferences.getString(Util.KEY_STATUS, null); 
    if (status.equals("clean")) { 
     tvFree.setText(freeMemory + " MB"); 
     tvTotal.setText(totalMemory + " MB"); 
     tvUsed.setText(usedMemory + " MB"); 
     stateImage.setImageResource(R.drawable.greenstate); 
     rippleBackground.stopRippleAnimation(); 
    } 
+0

Vielleicht ist es nicht zulassen, dass Sie den RAM durch die OS erforderlich zählen. – duffymo

+0

Nun, es sollte erlauben, lassen Sie mich Android-Dokumentation erneut überprüfen. –

+0

Dieses Detail ist wichtig. Ist das eine 64-Bit-JVM? Sie können nicht mehr als 1,6 GB von einer 32-Bit-JVM erhalten: http://www.oracle.com/technetwork/java/hotspotfaq-138619.html – duffymo

Antwort