android getMemoryClass()的使用
getMemoryClass()的使用,之前看到這個,不知道有什么作用,后來在網上查找資料,明白用途了。
Android基本概念: 應用, 任務, 進程, 和線程
開始我們的ActivityManager學習吧!
ActivityManager的內部類:
ActivityManager.MemoryInfo?: 系統內存使用情況的信息 ,可以通過getMemoryInfo(ActivityManager.MemoryInfo). 來獲得該類對象
ActivityManager.ProcessErrorStateInfo: 錯誤狀態的進程
ActivityManager.RecentTaskInfo:近期用戶打開的任務信息
ActivityManager.RunningAppProcessInfo: 正在運行的應用程序進程
ActivityManager.RunningServiceInfo: 正在運行的服務信息
ActivityManager.RunningTaskInfo: 正在運行的任務信息
ActivityManager類對象的獲取:?
ActivityManager mActivityManager = ?(ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
ActivityManager類中的方法:?
public int?getLargeMemoryClass?()說明: 如果在AndroidManifest.xml中的<application >標簽下將屬性android:largeHeap=“true”
? 這個屬性決定你的應用進程是否應當在更大的Dalvik堆中創建,為了在運行時查看可用內存,
可用getLargeMemoryClass()或者?getMemoryClass()
?通過代碼查看每個進程可用的最大內存,即heapgrowthlimit值:
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
int memClass = activityManager.getMemoryClass();//64,以m為單位
注意:在設置了heapgrowthlimit的情況下,單個進程可用最大內存為heapgrowthlimit值。在android開發中,如果要使用大堆,需要在manifest中指定android:largeHeap為true,這樣dvm heap最大可達heapsize。
其實就是查詢手機對于app的最大使用內存,這個可以判斷手機的性能,從而確定自己的app該注重性能還是注重內存的使用。
android getMemoryClass()的使用就講完了、
就這么簡單。
總結
以上是生活随笔為你收集整理的android getMemoryClass()的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android ImageSwitche
- 下一篇: android 带清除功能的输入框控件