获取手机系统大小、可用空间大小,设备可用内存及当前应用所占内存等

本文主要是介绍获取手机系统大小、可用空间大小,设备可用内存及当前应用所占内存等,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

设备可用内存及当前应用所占内存

// 获取当前设备可用内存及所占内存的头文件  
#import <sys/sysctl.h>  
#import <mach/mach.h>  // 获取当前设备可用内存(单位:MB)  
- (double)availableMemory  
{  vm_statistics_data_t vmStats;  mach_msg_type_number_t infoCount = HOST_VM_INFO_COUNT;  kern_return_t kernReturn = host_statistics(mach_host_self(),   HOST_VM_INFO,   (host_info_t)&vmStats,   &infoCount);  if (kernReturn != KERN_SUCCESS) {  return NSNotFound;  }  return ((vm_page_size *vmStats.free_count) / 1024.0) / 1024.0;  
}  // 获取当前任务所占用的内存(单位:MB)  
- (double)usedMemory  
{  task_basic_info_data_t taskInfo;  mach_msg_type_number_t infoCount = TASK_BASIC_INFO_COUNT;  kern_return_t kernReturn = task_info(mach_task_self(),   TASK_BASIC_INFO,   (task_info_t)&taskInfo,   &infoCount);  if (kernReturn != KERN_SUCCESS  ) {  return NSNotFound;  }  return taskInfo.resident_size / 1024.0 / 1024.0;  
}  

手机系统大小、可用空间大小

+(uint64_t)getFreeDiskspace {uint64_t totalSpace = 0.0f;uint64_t totalFreeSpace = 0.0f;NSError *error = nil;NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);NSDictionary *dictionary = [[NSFileManager defaultManager] attributesOfFileSystemForPath:[paths lastObject] error: &error];if (dictionary) {NSNumber *fileSystemSizeInBytes = [dictionary objectForKey: NSFileSystemSize];NSNumber *freeFileSystemSizeInBytes = [dictionary objectForKey:NSFileSystemFreeSize];totalSpace = [fileSystemSizeInBytes floatValue];totalFreeSpace = [freeFileSystemSizeInBytes floatValue];NSLog(@"Memory Capacity of %llu GB with %llu GB Free memory available.", ((totalSpace/1024ll)/1024ll/1024ll), ((totalFreeSpace/1024ll)/1024ll/1024ll));} else {NSLog(@"Error Obtaining System Memory Info: Domain = %@, Code = %d", [error domain], [error code]);}return totalFreeSpace;
}

其中
attributesOfFileSystemForPath:error:
返回的是一个字典。感兴趣的同学可用自己看下里面的其他信息




这篇关于获取手机系统大小、可用空间大小,设备可用内存及当前应用所占内存等的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/471868

相关文章

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien

MySQL之InnoDB存储页的独立表空间解读

《MySQL之InnoDB存储页的独立表空间解读》:本文主要介绍MySQL之InnoDB存储页的独立表空间,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、独立表空间【1】表空间大小【2】区【3】组【4】段【5】区的类型【6】XDES Entry区结构【

MySQL 获取字符串长度及注意事项

《MySQL获取字符串长度及注意事项》本文通过实例代码给大家介绍MySQL获取字符串长度及注意事项,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 获取字符串长度详解 核心长度函数对比⚠️ 六大关键注意事项1. 字符编码决定字节长度2

python3如何找到字典的下标index、获取list中指定元素的位置索引

《python3如何找到字典的下标index、获取list中指定元素的位置索引》:本文主要介绍python3如何找到字典的下标index、获取list中指定元素的位置索引问题,具有很好的参考价值,... 目录enumerate()找到字典的下标 index获取list中指定元素的位置索引总结enumerat

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

SpringMVC高效获取JavaBean对象指南

《SpringMVC高效获取JavaBean对象指南》SpringMVC通过数据绑定自动将请求参数映射到JavaBean,支持表单、URL及JSON数据,需用@ModelAttribute、@Requ... 目录Spring MVC 获取 JavaBean 对象指南核心机制:数据绑定实现步骤1. 定义 Ja

CSS实现元素撑满剩余空间的五种方法

《CSS实现元素撑满剩余空间的五种方法》在日常开发中,我们经常需要让某个元素占据容器的剩余空间,本文将介绍5种不同的方法来实现这个需求,并分析各种方法的优缺点,感兴趣的朋友一起看看吧... css实现元素撑满剩余空间的5种方法 在日常开发中,我们经常需要让某个元素占据容器的剩余空间。这是一个常见的布局需求