我想记录下Bitmap 图片 以不同方式打开所占的内存情况 那位大大 告诉小弟一下 不胜感激
怎么才能显示 当前的程序使用的内存情况
我试过的
1:
- Java code
System.out.println("获得整个程序的内存总数 ===== " + Runtime.getRuntime().totalMemory()); System.out.println("可用内存总数 ===== " + Runtime.getRuntime().freeMemory()); System.out.println("最大内存量 ===== " + Runtime.getRuntime().maxMemory());
2:
- Java code
public static void displayBriefMemory() { Double allocated = new Double(Debug.getNativeHeapAllocatedSize())/new Double((1048576)); Double available = new Double(Debug.getNativeHeapSize())/1048576.0; Double free = new Double(Debug.getNativeHeapFreeSize())/1048576.0; DecimalFormat df = new DecimalFormat(); df.setMaximumFractionDigits(2); df.setMinimumFractionDigits(2); Log.d("gettings", "debug. ================================="); Log.d("gettings", "debug.heap native: allocated " + df.format(allocated) + "MB of " + df.format(available) + "MB (" + df.format(free) + "MB free)"); Log.d("gettings", "debug.memory: allocated: " + df.format(new Double(Runtime.getRuntime().totalMemory()/1048576)) + "MB of " + df.format(new Double(Runtime.getRuntime().maxMemory()/1048576))+ "MB (" + df.format(new Double(Runtime.getRuntime().freeMemory()/1048576)) +"MB free)"); }
3:
- Java code
final ActivityManager activityManager = (ActivityManager) getSystemService(Service.ACTIVITY_SERVICE); ActivityManager.MemoryInfo info = new ActivityManager.MemoryInfo(); activityManager.getMemoryInfo(info); Log.e("####","系统剩余内存:"+(info.availMem >> 20)+"M"); Log.e("####","系统是否处于低内存运行:"+info.lowMemory); Log.e("####","当系统剩余内存低于"+(info.threshold >> 20)+"M 时就看成低内存运行");
4:
- Java code
Double allocated = new Double(Debug.getNativeHeapAllocatedSize())/new Double((1048576)); Double available = new Double(Debug.getNativeHeapSize())/1048576.0; Double free = new Double(Debug.getNativeHeapFreeSize())/1048576.0; DecimalFormat df = new DecimalFormat(); df.setMaximumFractionDigits(2); df.setMinimumFractionDigits(2); Log.e("gettings", "debug. ================================="); Log.e("gettings", "debug.heap native: allocated " + df.format(allocated) + "MB of " + df.format(available) + "MB (" + df.format(free) + "MB free)"); Log.e("gettings", "debug.memory: allocated: " + df.format(new Double(Runtime.getRuntime().totalMemory()/1048576)) + "MB of " + df.format(new Double(Runtime.getRuntime().maxMemory()/1048576))+ "MB (" + df.format(new Double(Runtime.getRuntime().freeMemory()/1048576)) +"MB free)");
我试过了 都不能得到当前程序 内存使用情况
我只想得到 某个变量 在内存中占了多大
------解决方案--------------------
从java里是得不到 内存的 要从so里