package com.basic.project.idcardservice; import android.os.Debug; //import com.basic.security.base.BaseApplication; public class MemoryUtil { public static void monitorMemory() { if (1 == 1) { return; } try { Runtime runtime = Runtime.getRuntime(); long usedMemInMB = (runtime.totalMemory() - runtime.freeMemory()) / 1048576L; long maxHeapSizeInMB = runtime.maxMemory() / 1048576L; long availHeapSizeInMB = maxHeapSizeInMB - usedMemInMB; if ((availHeapSizeInMB * 1.0) / (maxHeapSizeInMB * 1.0) < 0.1) { // AppUtil.restartApp(BaseApplication.getApplication()); } long getNativeHeapAllocatedSize = Debug.getNativeHeapAllocatedSize() / 1048576L; long getNativeHeapSize = Debug.getNativeHeapSize() / 1048576L; long getNativeHeapFreeSize = Debug.getNativeHeapFreeSize() / 1048576L; System.out.println(Thread.currentThread().getId()+" " + "usedMB=" + usedMemInMB + " threadCount=" + Thread.getAllStackTraces().size() + " availHeapMB=" + availHeapSizeInMB + " NativeHeapAllocated=" + getNativeHeapAllocatedSize + " NativeHeap=" + getNativeHeapSize + " NativeHeapFree=" + getNativeHeapFreeSize ); } catch (Exception e) { e.printStackTrace(); } } }