निम्नलिखित तेज समारोह बाइट में सिस्टम मुक्त स्मृति (RAM) वापस आ जाएगी। यह विफलता पर शून्य वापस आ जाएगा।
func systemFreeMemorySize() -> UInt?
{
let HOST_VM_INFO_COUNT: mach_msg_type_number_t = mach_msg_type_number_t(sizeof(vm_statistics_data_t)/sizeof(integer_t))
let host: host_t = mach_host_self()
var pageSize: vm_size_t = vm_size_t()
let hostPageSizeKernStatus: kern_return_t = host_page_size(host, &pageSize)
guard hostPageSizeKernStatus == KERN_SUCCESS else {
NSLog("Error with host_page_size(): " + (String.fromCString(mach_error_string(hostPageSizeKernStatus)) ?? "unknown error"))
return nil
}
var stats: vm_statistics_data_t = vm_statistics_data_t()
var count: mach_msg_type_number_t = HOST_VM_INFO_COUNT
let kernStatus: kern_return_t = withUnsafeMutablePointer(&stats) {
return host_statistics(host, HOST_VM_INFO, host_info_t($0), &count)
}
guard kernStatus == KERN_SUCCESS else {
NSLog("Error with host_statistics(): " + (String.fromCString(mach_error_string(kernStatus)) ?? "unknown error"))
return nil
}
return UInt(stats.free_count) * UInt(pageSize)
}
धन्यवाद बेन। बस पुष्टि करने के लिए, क्या आपका समाधान किसी भी निजी एपीआई का उपयोग करता है? इसका उपयोग करने के लिए मुझे कौन से पुस्तकालयों का आयात करना चाहिए? – hpique
नहीं, कोई निजी एपीआई नहीं। –
यह अच्छा है @ बेन्गॉटलिब, किसी को यह दिमाग कैसे है? कोड जो आपने यहां किया है, मैं कभी नहीं सोच सकता था? महान! – Hemang