Files
OrderScheduling/Pods/DDWebImageKit_Private/DDWebImageKit_Private/Classes/SDWebImage/Private/SDDeviceHelper.m
T
2023-08-18 17:28:57 +08:00

33 lines
925 B
Objective-C

/*
* This file is part of the SDWebImage package.
* (c) Olivier Poitrey <rs@dailymotion.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
#import "SDDeviceHelper.h"
#import <mach/mach.h>
@implementation SDDeviceHelper
+ (NSUInteger)totalMemory {
return (NSUInteger)[[NSProcessInfo processInfo] physicalMemory];
}
+ (NSUInteger)freeMemory {
mach_port_t host_port = mach_host_self();
mach_msg_type_number_t host_size = sizeof(vm_statistics_data_t) / sizeof(integer_t);
vm_size_t page_size;
vm_statistics_data_t vm_stat;
kern_return_t kern;
kern = host_page_size(host_port, &page_size);
if (kern != KERN_SUCCESS) return 0;
kern = host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size);
if (kern != KERN_SUCCESS) return 0;
return vm_stat.free_count * page_size;
}
@end