欢迎来到天天文库
浏览记录
ID:27515898
大小:122.00 KB
页数:5页
时间:2018-12-04
《android开发 获取手机总内存和可用内存》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Android开发获取手机总内存和可用内存 在android开发中,有时候我们想获取手机的一些硬件信息,比如android手机的总内存和可用内存大小。这个该如何实现呢?通过读取文件"/proc/meminfo"的信息能够获取手机Memory的总量,而通过ActivityManager.getMemoryInfo(ActivityManager.MemoryInfo)方法可以获取当前的可用Memory量。 "/proc/meminfo"文件记录了android手机的一些内存信息,在命令行窗口里输入"adbshell",进入shell环境,输
2、入"cat/proc/meminfo"即可在命令行里显示meminfo文件的内容,具体如下所示。 C:UsersFigo>adbshell#cat/proc/meminfocat/proc/meminfoMemTotal:94096kBMemFree:1684kBBuffers:16kBCached:27160kBSwapCached:0kBActive:35392kBInactive:44180kBActive(anon):26540kBInactive(anon):28244kBActive(file):8852kBInactive(file):
3、15936kBUnevictable:280kBMlocked:0kBSwapTotal:0kBSwapFree:0kBDirty:0kBWriteback:0kBAnonPages:52688kBMapped:17960kBSlab:3816kBSReclaimable:936kBSUnreclaim:2880kBPageTables:5260kBNFS_Unstable:0kBBounce:0kBWritebackTmp:0kBCommitLimit:47048kBCommitted_AS:1483784kBVmallocTotal:876544kB
4、VmallocUsed:15456kBVmallocChunk:829444kB#下面先对"/proc/meminfo"文件里列出的字段进行粗略解释:MemTotal:所有可用RAM大小。MemFree:LowFree与HighFree的总和,被系统留着未使用的内存。Buffers:用来给文件做缓冲大小。Cached:被高速缓冲存储器(cachememory)用的内存的大小(等于diskcacheminusSwapCache)。SwapCached:被高速缓冲存储器(cachememory)用的交换空间的大小。已经被交换出来的内存,仍然被存放在swapf
5、ile中,用来在需要的时候很快的被替换而不需要再次打开I/O端口。Active:在活跃使用中的缓冲或高速缓冲存储器页面文件的大小,除非非常必要,否则不会被移作他用。Inactive:在不经常使用中的缓冲或高速缓冲存储器页面文件的大小,可能被用于其他途径。SwapTotal:交换空间的总大小。SwapFree:未被使用交换空间的大小。Dirty:等待被写回到磁盘的内存大小。Writeback:正在被写回到磁盘的内存大小。AnonPages:未映射页的内存大小。Mapped:设备和文件等映射的大小。Slab:内核数据结构缓存的大小,可以减少申请和释放内存带来
6、的消耗。SReclaimable:可收回Slab的大小。SUnreclaim:不可收回Slab的大小(SUnreclaim+SReclaimable=Slab)。PageTables:管理内存分页页面的索引表的大小。NFS_Unstable:不稳定页表的大小。 要获取android手机总内存大小,只需读取"/proc/meminfo"文件的第1行,并进行简单的字符串处理即可。 下面直接给出详细步骤,大家可以根据实际情况进行相应扩展。第一步:新建一个Android工程,命名为ReadSystemMemory,如下图所示。 第二步:修改在la
7、yout目录下的main.xml文件,代码如下:viewplaincopytoclipboardprint? 8、nt" >
8、nt" >
此文档下载收益归作者所有