gpt4 book ai didi

iphone - 处理 iPhone 中潜在的内存问题

转载 作者:行者123 更新时间:2023-12-03 20:35:37 25 4
gpt4 key购买 nike

有哪些方法可以处理 iPhone 上的内存问题?

在进入内存密集型代码部分之前是否可以询问有多少内存可用?

(或者苹果可能会说,如果你必须使用这么多内存,那么你就在错误的平台上?)

最佳答案

UIApplicationDelegate 的 applicationDidReceiveMemoryWarning: 会让您知道您是否使用了太多内存。如果您想在内存密集型操作之前进行检查,可以使用以下函数获取 iOS 上可用的空闲内存(以字节为单位):

natural_t  TSGetFreeSystemMemory(void) {
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 pagesize;
vm_statistics_data_t vm_stat;

host_page_size(host_port, &pagesize);

if (host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size) != KERN_SUCCESS)
printf("failed to get host statistics");;

// natural_t mem_used = (vm_stat.active_count + vm_stat.inactive_count + vm_stat.wire_count) * pagesize;
natural_t mem_free = vm_stat.free_count * pagesize;

return mem_free;
}

关于iphone - 处理 iPhone 中潜在的内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3602752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com