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();
|
}
|
|
}
|
|
}
|