gpt4 book ai didi

IOS7 : memory pressure, 应用程序在发送警告之前崩溃

转载 作者:行者123 更新时间:2023-11-29 03:16:24 25 4
gpt4 key购买 nike

我正在 iPad2 上的高内存压力下测试应用程序。我正在循环创建一系列 pdf 页面并在 Xcode 中进行调试,我看到内存在增长。

我已经实现了应用程序和 Controller 相关的功能(didReceiveMemoryWarnings、applicationReceivedMemoryWarnings)并在开始循环之前添加了一个观察者:

    [[NSNotificationCenter defaultCenter] addObserver:self     selector:@selector(handleMemoryWarning:) name: UIApplicationDidReceiveMemoryWarningNotification object:nil];

问题 #1:这些方法永远不会被调用,应用程序会被 Xcode 终止并发出“内存压力”通知。我错过了任何触发器吗?在系统决定关闭应用程序之前,我怎么会错过警告?

问题 #2:pdf上下文不断增加,有没有办法检查字节大小?(例如,NSData 变量不是太大,~6MBytes,但 Xcode 中的内存显示 >200MBytes....我如何测量?)

我计划在出现​​内存警告时将数据刷新到磁盘...但不是警告...:-(

谢谢!!!

最佳答案

不要在创建过程中将 PDF 保留在内存中,然后尝试刷新。相反,使用 CGPDFContextCreateWithURL 以便只有正在创建的“当前”页面在内存中,并且每次创建新页面时数据都会被推送到磁盘。这将使内存使用量保持在最低限度。

至于没有收到通知,如果您的 PDF 生成在主线程上同步运行,那么通知将永远不会发布(它只会在队列中等待处理)。

关于IOS7 : memory pressure, 应用程序在发送警告之前崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21647903/

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