今天因为项目要加个功能,所以去了解了下这个包,但中文资料实在甚少。无奈找些英文资料读读。
getTotalPrivateDirty()就是获得自己进程所独占的内存
getTotalPss()意思就是假如有A,B,C,D,E 5个进程共享一片10kb的内存,A,B,F 3个进程又另外共享了30kb的内存,那么进程A调用这个函数返回就是10/5+30/3=12
所以理论上只要监视getTotalPrivateDirty()就能监视自己进程的内存变化
最后附上代码
public void getThisProcessMemeryInfo() { int pid = android.os.Process.myPid(); android.os.Debug.MemoryInfo[] memoryInfoArray = activityManager.getProcessMemoryInfo(new int[] {pid}); Log.d(TAG, "本应用当前使用了" + (float)memoryInfoArray[0].getTotalPrivateDirty() / 1024 + "mb的内存"); }