Android中proc meminfo的詳解

2021-09-22 07:54:27 字數 2098 閱讀 9275

今天在寫到獲取手機可用記憶體空間的總大小的時候,通過下面的方法去獲取的時候,發現該方法最低支援的版本是16,這顯然是不可取的。

1  public static long gettotalspace(context ctx)
經查閱資料後,通過讀取proc/meminfo的資料,發現第一行就是我想要的可用記憶體空間的總大小,通過流的形式讀取了想要的記憶體空間的總大小

1 try 

16 }

17 //將sb轉換成字串,同時注意到資料庫檔案中的單位是kb,為了統一方便使用,轉換成位元組為單位的

18 return long.parselong(sb.tostring())*1024;

19 20 } catch (exception e)

然而不禁對proc/meminfo中的其他資料產生了資訊,都代表什麼意思?

通過adb shell切換到linux環境下,切換到該目錄下,通過cat meminfo得到如下資訊

當然你可以在ddms中找到相應的檔案路徑,匯出來,用記事本開啟檢視,基本是一樣的。

針對這些其他資料,查閱資料後,各自的解釋如下: memtotal: 所有可用ram大小(即物理記憶體減去一些預留位和核心的二進位制**大小)

memfree: lowfree與highfree的總和,被系統留著未使用的記憶體

buffers: 用來給檔案做緩衝大小

cached: 被高速緩衝儲存器(cache memory)用的記憶體的大小(等於 diskcache minus swapcache ).

swapcached:被高速緩衝儲存器(cache memory)用的交換空間的大小,已經被交換出來的記憶體,但仍然被存放在swapfile                    中。用來在需要的時候很快的被替換而不需要再次開啟i/o埠。

active: 在活躍使用中的緩衝或高速緩衝儲存器頁面檔案的大小,除非非常必要否則不會被移作他用.

inactive: 在不經常使用中的緩衝或高速緩衝儲存器頁面檔案的大小,可能被用於其他途徑.

hightotal:

highfree: 該區域不是直接對映到核心空間。核心必須使用不同的手法使用該段記憶體。

lowtotal:

lowfree: 低位可以達到高位記憶體一樣的作用,而且它還能夠被核心用來記錄一些自己的資料結構。among many

swaptotal: 交換空間的總大小

swapfree: 未被使用交換空間的大小

dirty: 等待被寫回到磁碟的記憶體大小。

writeback: 正在被寫回到磁碟的記憶體大小。

anonpages:未對映頁的記憶體大小

slab: 核心資料結構快取的大小,可以減少申請和釋放記憶體帶來的消耗。

sreclaimable:可收回slab的大小

sunreclaim:不可收回slab的大小(sunreclaim+sreclaimable=slab)

pagetables:管理記憶體分頁頁面的索引表的大小。

nfs_unstable:不穩定頁表的大小

vmalloctotal: 可以vmalloc虛擬記憶體大小

vmallocused: 已經被使用的虛擬記憶體大小。

vmallocchunk: largest contigious block of vmalloc area which is free

個人覺得上述的總結還是比較好的,這裡引用下,作為乙個擴充套件。。。

android 中layout weight的作用

layout weight 用於給乙個線性布局中的諸多檢視的重要度賦值。所有的檢視都有乙個layout weight值,預設為零,意思是需要顯示多大的檢視就佔據多大的螢幕空 間。若賦乙個高於零的值,則將父檢視中的可 用空間分割,分割大小具體取決於每乙個檢視layout weight 值以及該值在當前...

Android中LayoutParams的用法

寧願做過了後悔,也不要錯過了後悔。本講內容 layoutparams的用法 一 layoutparams的認識 從官方文件可知layoutparams繼承於android.view.viewgroup.layoutparams.layoutparams相當於乙個layout的資訊包,它封裝了layo...

android中layout weight的理解

例如 xmlns android android layout width fill parent android layout height wrap content android background 00ff00 android weightsum 0 android orientation...