设置中应用程序已用 可用空间的计算方法:
来源:互联网 发布:学软件的网站 编辑:程序博客网 时间:2024/04/27 22:30
1.正在运行
这个可以参考android设备的内存空间(RAM)总空间和可用空间大小的获取以及一些思考
内存已用空间 = 前台进程内存空间 + 服务进程空间
可用内存空间 = meminfo中的MemFree + memInfo中的Cached + 后台和空进程的空间 - SECONDARY_SERVER_MEM(默认是16MB)
long availMem = mMemInfoReader.getFreeSize() + mMemInfoReader.getCachedSize() - SECONDARY_SERVER_MEM;//可用内存为空余+Cache-SECONDARY_SERVER_MEMmLastNumBackgroundProcesses = mState.mNumBackgroundProcesses; mLastBackgroundProcessMemory = mState.mBackgroundProcessMemory;//后台进程或者空进程 mLastAvailMemory = availMem; long freeMem = mLastAvailMemory + mLastBackgroundProcessMemory;//前台可用进程+后台空进程 String sizeStr = Formatter.formatShortFileSize(getContext(), freeMem);android.util.Log.i("chenpeng","shengyu"); mBackgroundProcessText.setText(getResources().getString( R.string.service_background_processes, sizeStr));//可用进程 sizeStr = Formatter.formatShortFileSize(getContext(), mMemInfoReader.getTotalSize() - freeMem);android.util.Log.i("chenpeng","sizeStr="+sizeStr);android.util.Log.i("chenpeng","sizeStr="); mForegroundProcessText.setText(getResources().getString( R.string.service_foreground_processes, sizeStr));//已用为总的-可用进程空间
通过MemInfoReader类获取Free Cache 和Total进程 。 T701总共进程空间为437M
SECONDARY_SERVER_MEM是通过读取JB\build\target\board\generic_x86\init.rc文件获得的,默认是16MB
2.内部存储空间
已下载和全部都是显示的内部存储空间mDataFileStats = new StatFs("/data"); mDataFileStats.restat("/data");//实际上是data分区剩余空间大小totalStorage = (long)mDataFileStats.getBlockCount() * mDataFileStats.getBlockSize();//全部内存空间 freeStorage = (long) mDataFileStats.getAvailableBlocks() * mDataFileStats.getBlockSize();//空闲内存
3.SD卡
mSDCardFileStats = new StatFs(Environment.getSdcardStorageDirectory().toString()); mSDCardFileStats.restat(Environment.getSdcardStorageDirectory().toString());totalStorage = (long)mSDCardFileStats.getBlockCount() * mSDCardFileStats.getBlockSize(); freeStorage = (long) mSDCardFileStats.getAvailableBlocks() * mSDCardFileStats.getBlockSize();
附:
统计RAM可用内存大小
A:Android中的MemInfoReader类通过读取/proc/meminfo实现了内存大小相关的函数,但第三方程序无法调用,我们将直接将MemInfoReader.java直接拷贝到项目中,作适当修改即可使用。
B:通过MemoryInfo和ActivityManager获得可用Ram内存大小
ActivityManager am = (ActivityManager) this .getSystemService(Context.ACTIVITY_SERVICE); MemoryInfo mi = new MemoryInfo(); am.getMemoryInfo(mi); // mi.availMem; 当前系统的可用内存 Log.e("tag", "getMemoryInfo: " + mi.availMem);
- 设置中应用程序已用 可用空间的计算方法:
- 用来获取sd卡和系统/data分区的使用情况,包括:总的空间大小、可用空间、已用空间
- 应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户
- 开户行账户可用余额的计算方法
- 没有可用于 ‘xxxxx’的编辑器,确保已安装文件类型(.xx)的应用程序
- win7下没有可用于 ".xaml"的编辑器 确保已安装文件类型(.xaml)的应用程序
- 您的安全设置已阻止不可信应用程序运行
- 时间复杂度和空间复杂度的计算方法
- 您的安全设置已阻止应用程序使用已过期的Java版本运行
- iOS 开发中单个应用程序的最大可用内存是多少?
- IIS 中设置2个项目,其中在桌面的项目不能运行。老报错。 提示:服务器应用程序不可用 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用
- IIS 中设置2个项目,其中在桌面的项目不能运行。老报错。 提示:服务器应用程序不可用 您试图在此 Web 服务器上访问的 Web 应用程序当前不可用
- 应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户 NT AUTHORITY\SYSTEM SID (S-1-5-1
- MDX中常见的计算方法
- 组织机构中校验码的计算方法
- 264中 POC的计算方法
- 264中 POC的计算方法
- BITMAPINFOHEADER中biSizeImage的计算方法
- HDOJ1001:Sum Problem
- Unable to resolve target 'android-i'
- Windows操作HID设备的API
- 做外链需求遁序渐进的进行
- Android应用程序消息处理机制(Looper、Handler)分析
- 设置中应用程序已用 可用空间的计算方法:
- javascript冒泡事件的意义及如何阻止冒泡事件
- Firefly+AS3回合RPG网页游戏源码《烽烟OL》v1.6正式推出
- Android ViewPager 详解(简洁新手专用)
- .NET重构(类型码的设计、重构方法)
- 成为高级嵌入式系统硬件工程师要具备的技能
- javaeye搬家到csdn
- java应用uploadify 3.2丢失session
- 让我们掌握flex源码