设置中应用程序已用 可用空间的计算方法:

1.正在运行

这个可以参考
android设备的内存空间(RAM)总空间和可用空间大小的获取以及一些思考
内存已用空间 = 前台进程内存空间 + 服务进程空间   
可用内存空间 = meminfo中的MemFree + memInfo中的Cached + 后台和空进程的空间 - SECONDARY_SERVER_MEM(默认是16MB)

 long availMem = mMemInfoReader.getFreeSize() + mMemInfoReader.getCachedSize()
                - SECONDARY_SERVER_MEM;//可用内存为空余+Cache-SECONDARY_SERVER_MEM
mLastNumBackgroundProcesses = 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);




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: screen_intf.exe应用程序错误是指在运行该应用程序时发生了某种错误。它可能是由于应用程序本身的问题,也可能是由于操作系统或其他软件的兼容性问题导致的。通常情况下,应用程序错误会弹出一个错误提示窗口,提示用户应用程序无法正常运行,并且会给出一些相关的错误代码或错误信息。 要解决screen_intf.exe应用程序错误,可以尝试以下几种方法: 1. 重新启动计机:有时候只需要重新启动计机,问题就可以解决。这有助于清除一些临时性的错误。 2. 更新应用程序应用程序可能存在一些已知的问题或漏洞,可以通过更新应用程序到最新版本来解决这些问题。 3. 检查防病毒软件:某些防病毒软件可能会误判screen_intf.exe为恶意程序而阻止其运行,可以尝试临时关闭防病毒软件并重新运行应用程序。 4. 检查硬件驱动程序:确保计机的硬件驱动程序是最新的,有时过期的驱动程序可能导致应用程序错误。 5. 运行错误修复工具:使用一些错误修复工具,例如Windows系统自带的系统文件检查器(SFC)或第三方的系统优化工具,可以扫描和修复与应用程序错误相关的问题。 需要注意的是,如果这些方法都无法解决问题,那么可能需要联系应用程序的开发者或技术支持团队,向他们报告问题并获得专业的帮助。 ### 回答2: screen_intf.exe应用程序错误通常是指该应用程序在运行过程遇到了问题,导致无法正常工作。这种错误一般会显示对话框或者弹出错误提示信息,让用户知道出现了问题。 出现此错误的原因可能有多种,如程序本身存在错误、与其他应用程序的冲突、系统环境不兼容等。为了解决此问题,可以尝试以下几个步骤: 1. 重启计机:有时候重新启动计机可以清除临时的错误或冲突,使程序重新运行正常。 2. 更新或重新安装应用程序:检查是否有新版本的应用程序可用,如果有,尝试更新到最新版本。如果已经安装了最新版本但仍然出现错误,可以尝试重新安装应用程序。 3. 执行系统文件检查:运行命令提示符或PowerShell,并使用“sfc /scannow”命令,以检查并修复系统文件错误。 4. 检查病毒或恶意软件:运行杀毒软件进行全盘扫描,确保计机没有受到病毒或恶意软件的影响。 5. 查找相关解决方案:根据错误提示消息、应用程序作者或其他用户的经验,在互联网上寻找类似问题的解决方案。也可以联系应用程序支持团队以获取帮助。 请注意,具体解决方法可能因个体情况而异。如果以上方法均无法解决问题,建议联系计机专业人员进行进一步指导。 ### 回答3: screen_intf.exe是一个Windows操作系统应用程序,它可能是一款屏幕接口组件的执行文件。当我们看到"screen_intf.exe应用程序错误"时,通常意味着该应用程序遇到了问题并无法正常工作。 出现应用程序错误的原因可能有很多,如以下几种常见情况: 1. 软件版本不兼容:screen_intf.exe可能与当前的操作系统或其他软件不兼容,导致冲突和错误。 2. 损坏的应用程序文件:screen_intf.exe文件本身可能已损坏或丢失关键组件,导致无法正确运行。 3. 系统资源不足:如果系统内存或硬盘空间不足,应用程序可能无法正常加载和执行。 解决此问题的方法如下: 1. 重新启动计机:先尝试重新启动计机,有时候这可以解决临时的软件或系统错误。 2. 更新或重新安装应用程序:尝试更新screen_intf.exe所属的应用程序,或者重新安装该应用程序,以确保您的计机上的文件完整且无损坏。 3. 检查病毒和恶意软件:运行安全软件进行全面扫描,确保计机没有受到病毒或恶意软件的感染,这可能会导致应用程序错误。 4. 清理系统资源:删除不必要的文件和程序,释放内存和硬盘空间,以确保系统具有足够的资源来运行应用程序。 如果以上方法无效,您可以尝试联系应用程序的开发商或技术支持团队寻求进一步的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值