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

来源:互联网 发布:洗浴软件 编辑:程序博客网 时间:2024/04/29 22:56

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

// 获取当前设备可用内存及所占内存的头文件  #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:
返回的是一个字典。感兴趣的同学可用自己看下里面的其他信息




1 0