nothirst/TICoreDataSync

Excessive memory usage when applying numerous change sets

Opened this issue · 4 comments

I have found that TICDS uses excessive memory when applying numerous change sets. Even though applyUnappliedSyncChangeSets: in the main TICDSSynchronizationOperation runs each change set within an @autorelease pool, memory load continues to increase and does not go back to a baseline level when going to the next change set. This can cause the apps to slow down or even crash if memory use becomes too much for the device to handle.

I've recently noticed this as well and am investigating the problem. Thanks.

This may have to do with the core data architecture. It may need to be revamped to more appropriately use subcontexts and clear them every X steps.

I just ran across this project and started to browse the open issues. If this might be a Core Data issue, you might want to check out an article I wrote:

http://finalize.com/2013/01/04/core-data-issues-with-memory-allocation/

No response from Apple on the bugs I filed.

Thanks for the excellent article, Scott, and for the radar reports. I'll follow up and dup them if I can.