gpt4 book ai didi

ios - mergeChangesFromContextDidSaveNotification 消耗内存

转载 作者:可可西里 更新时间:2023-11-01 05:41:09 27 4
gpt4 key购买 nike

我有两个 NSManagedObjectContext,一个用于 ui,一个用于后台任务。每当背景更改时,我都试图将更改合并到 UIcontext。但是每当我调用

mergeChangesFromContextDidSaveNotification:notification

它只是开始消耗内存(在模拟器上会增加到 1GB)并导致崩溃。

当然我设置了一个通知:

    [[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(coreUpdateFromApp:)
name:NSManagedObjectContextDidSaveNotification
object:nil];

还尝试在主线程中进行合并等。不走运!

我发现 URIRepresentation 导致了这个问题。由于某种原因,它一直被调用。 (苹果的代码不是我的)

请注意,我让它运行了不到一秒,它使用了 64.95MB,它会随着相同的调用树增长得非常快。如果我让它继续运行,它也会使 osx 崩溃!

Profiler result

最佳答案

问题是object:nil。您正在聆听无尽的通知回声。

您需要指定一个特定的上下文对象来监听通知。

关于ios - mergeChangesFromContextDidSaveNotification 消耗内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23001255/

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