public MemResource getResource(Context context) {
ActivityManager activityManager = (ActivityManager) context.getSystemService(context.ACTIVITY_SERVICE);
ActivityManager.MemoryInfo memoryInfo = new ActivityManager.MemoryInfo();
activityManager.getMemoryInfo(memoryInfo);
MemResource meminfo = new MemResource();
meminfo.setTotal(memoryInfo.totalMem);
meminfo.setAvail(memoryInfo.availMem);
return meminfo;
}
public class MemResource {
private long avail;
private long total;
public String getAvail() {
return changeHumanValue(avail);
}
public void setAvail(long avail) {
this.avail = avail;
}
public String getTotal() {
return changeHumanValue(total);
}
public void setTotal(long total) {
this.total = total;
}
private String changeHumanValue(long value) {
String humanValue;
value = (int)(value / (1000 * 1000));
if (value > 1024) {
humanValue = (int)(value / 1024) + "";
humanValue += "." + value % 1024 + "G";
} else {
humanValue = value + "M";
}
return humanValue;
}
}
CPU 사용량 구하는 방법과 같이 Linux 의 기본 기능을 가져와서 파싱하려 했는데
실제 핸드폰의 관리프로그램에서 보이는 용량과 System 에서 보여지는 용량과 큰 차이가 있다.
안드로이드는 시스템의 메모리를 최대한 확보를 한다나 모라나..
참조 사이트
http://blog.naver.com/PostView.nhn?blogId=huewu&logNo=110092658919&parentCategoryNo=18&viewDate=¤tPage=1&listtype=0
http://stackoverflow.com/questions/2298208/how-to-discover-memory-usage-of-my-application-in-android/2299813#2299813
댓글
댓글 쓰기