内存信息获取以及绘制饼状图显示内存信息
主界面主要分为两个部分,一部分是内存信息显示,另一部分是应用和菜单显示,本篇介绍内存部分的设计与实现。
先介绍布局,主界面顶部是ToolBar,之后有一大块空间用来显示自定义的View,之后是ViewPager的,在内存部分使用自定义的CircleView圆环来展示内存使用占比,同时添加了滑动监听事件onTouchListener,对自定义View添加更多动画操作。
下面介绍一下如何获取内存信息,在没有签名的情况下,我们无权获取系统的存储信息,但是可以通过读取meminfo文件来粗略的获取内存信息。Android手机一般默认将内存相关信息存储在/proc/meminfo文件中。其中MemTotal和MemAvailable是我们所要的,整体运存和可用运存。将他们的值取出即可。
这里要注意,因为文件内的格式是:
MemTotal : xxxxxxxxx
MemAvailable : xxxxxxxxx
…
此类,所以要通过正则表达式或其他方法,将:和空格过滤掉。而得到的是KB为单位的值,这并不便于我们去展示,还要自己写一个转换工具:
public class CalUtil {
private int piece = 1024;
//换算输出
public String Caltoshow(String str){
if(!str.matches("\\d+")){
return null;
}
int flag =