内存工具类:MemoryManager
个人学习,仅供参考!
package com.example.administrator.filemanager.utils;
import android.app.ActivityManager;
import android.content.Context;
import android.os.Environment;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.Map;
import static android.os.Environment.getExternalStorageState;
public class MemoryManager {
/**
* 获取设备剩余时运行内存
*/
public static long getPhoneFreeMenory(Context context) {
//声明内存对象并初始化
ActivityManager.MemoryInfo info = new ActivityManager.MemoryInfo();
//获取服务
ActivityManager an = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
//获取剩余时运行内存
an.getMemoryInfo(info);
//返回内存大小
return info.availMem;
}
/**
* 设备全部运行时的内存
*/
public static long getPhoneTotalMemory() {
try {
FileReader fr = new FileReader("/proc/meminfo");
//输入流
BufferedReader br = new BufferedReader(fr);
String text = br.readLine();
//split:分别字符串
String[] array = text.split("\\s+");
// 返回数值 单位:kb
return Long.valueOf(array[1]) * 1024;
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {//IO异常
e.printStackTrace();
}
return 0;
}
/*
* 获取手机内置SD卡
* */
public static String getPhoneInSDCardPath() {
/* File sdState = Environment.getExternalStorageDirectory();*/
String sdState=getExternalStorageState();
if (!sdState.equals(Environment.MEDIA_MOUNTED)) {//路径不存在或者为空
return null;
}
return Environment.getExternalStorageDirectory().getAbsolutePath();
}
/**
* 获取手机外置SD卡路径
*/
public static String getPhoneOutSDCardPath() {
Map<String, String> map = System.getenv();
if (map.containsKey("SECONDARY_STORAGE")) {
String str = map.get("SECONDARY_STORAGE");
String[] paths = str.split(":");
//判断路径是否存在
if (paths == null || paths.length <= 0) {//不存在
return null;
}
return paths[0];
}
return null;
}
}
内存工具类:MemoryManager的更多相关文章
- 【YFMemoryLeakDetector】人人都能理解的 iOS 内存泄露检测工具类
背景 即使到今天,iOS 应用的内存泄露检测,仍然是一个很重要的主题.我在一年前,项目中随手写过一个简单的工具类,当时的确解决了大问题.视图和控制器相关的内存泄露,几乎都不存在了.后来想着一直就那个工 ...
- Cache【硬盘缓存工具类(包含内存缓存LruCache和磁盘缓存DiskLruCache)】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 内存缓存LruCache和磁盘缓存DiskLruCache的封装类,主要用于图片缓存. 效果图 代码分析 内存缓存LruCache和 ...
- 分享基于MemoryCache(内存缓存)的缓存工具类,C# B/S 、C/S项目均可以使用!
using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Caching; usi ...
- Go/Python/Erlang编程语言对比分析及示例 基于RabbitMQ.Client组件实现RabbitMQ可复用的 ConnectionPool(连接池) 封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil 分享基于MemoryCache(内存缓存)的缓存工具类,C# B/S 、C/S项目均可以使用!
Go/Python/Erlang编程语言对比分析及示例 本文主要是介绍Go,从语言对比分析的角度切入.之所以选择与Python.Erlang对比,是因为做为高级语言,它们语言特性上有较大的相似性, ...
- 分享自研实现的多数据源(支持同DB不同表、跨DB表、内存数据、外部系统数据等)分页查询工具类实现原理及使用
思考: 提起分页查询,想必任何一个开发人员(不论是新手还是老手)都能快速编码实现,实现原理再简单不过,无非就是写一条SELECT查询的SQL语句,ORDER BY分页排序的字段, 再结合limit ( ...
- Guava库介绍之实用工具类
作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文是我写的Google开源的Java编程库Guava系列之一,主要介 ...
- 随笔分类 - Android之工具类
Android之文件搜索工具类 /** * @detail 搜索sdcard文件 * @param 需要进行文件搜索的目录 * @param 过滤搜索文件类型 */ private void sear ...
- Android 系统工具类SystemUtils
包含的功能有: 获取系统中所有APP应用.获取用户安装的APP应用.根据包名和Activity启动类查询应用信息.跳转到WIFI设置.WIFI网络开关.移动网络开关.GPS开关 当前若关则打开 当前若 ...
- Jeesite的cahche工具类
本CacheUtils主要是基于shiro的cache进行处理. 其他选择: 类似的我们可以选择java cache ,spring cahche等方案. 再进一步 ...
随机推荐
- socket listen参数中的backlog 的意义!
服务器监听时,在每次处理一个客户端的连接时是需要一定时间的,这个时间非常的短(也许只有1ms 或者还不到),但这个时间还是存在的.而这个backlog 存在的意义就是:在这段时间里面除了第一个连接请求 ...
- jquery文本框内容改变事件
/** * 内容改变时并不会触发事件,但是在失去焦点的时候会触发. */ $("#inputid").change(function(){ console.log($(this). ...
- CentOS7:配置SVN服务器
1. 安装 CentOS通过yum安装subversion. $ sudo yum install subversion subversion安装在/bin目录: $ which svnserve / ...
- NGUI的localPosition和Position之间的关系
假设有子节点为child, 父节点为parent, 且都是Transform类型. 则: child.localPosition = (child.position - parent.position ...
- sqlite读取中文乱码(C#)
C#读取一些C++创建的sqlite数据库时乱码, C++保存DB是用GB2312编码的, C#调用的官方的system.data.sqlite是用的UTF-8编码的, 在读取时会乱码, 用一个GB ...
- TreeMap
TreeMap的put() ,remove() ,containsKey(), get() 全都尊重compareTo() 或者 compare() 是否返回0的结果 如果compareTo() 或者 ...
- 基础篇-spring包的下载
首先去到String官网 往下拉一点会看到如下图所示点击进入下一步 进入以后找到如下图所示的 然后按照下图所示操作 选择你想要的版本点击它 选择spring的完整包下载如图
- 细说 webpack 之流程篇
摘自: http://taobaofed.org/blog/2016/09/09/webpack-flow/ 引言 目前,几乎所有业务的开发构建都会用到 webpack .的确,作为模块加载和打包神器 ...
- SqlServer Where后面Case When语句的写法
select * from tb where (case when col='***' then '***' else '***' end)='***'
- xhprof学习笔记
一.简介 XHProf 是一个轻量级的分层性能测量分析器. 在数据收集阶段,它跟踪调用次数与测量数据,展示程序动态调用的弧线图. 它在报告.后期处理阶段计算了独占的性能度量,例如运行经过的时间.CPU ...