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
댓글
댓글 쓰기