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();
}
Vielleicht ist es nicht zulassen, dass Sie den RAM durch die OS erforderlich zählen. – duffymo
Nun, es sollte erlauben, lassen Sie mich Android-Dokumentation erneut überprüfen. –
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