修改
几周前我向Parse提交了一份错误报告。他们已经指派人员进行调查:https://developers.facebook.com/bugs/349439421926879/错误的源代码:https://github.com/EpsApps/Parse-PFObject-saveAll-Memory-Bug
答案 0 :(得分:0)
虽然每次运行对我来说都不同,但有时内存占用确实会完全消失。看看下面的图表。
大部分时间似乎都存在某种残余,我同意。
答案 1 :(得分:0)
我已经找到了解决这个问题的方法。将对象添加为指针时,请对此对象执行简单查询,而不是重复使用通过更复杂查询提取的同一对象。
例如,当包含“bigObject”作为大保存的指针时,这将导致大量内存泄漏:
PFQuery* query = [PFQuery queryWithClassName:@"Object"];
[query whereKey:@"objectId" equalTo:object.objectId];
// Don't include an array of pointers like this
[query includeKey:@"objectArray1"];
[query includeKey:@"objectArray2"];
PFObject* bigObject = [query getFirstObject];
但这不会:
PFQuery* query = [PFQuery queryWithClassName:@"Object"];
[query whereKey:@"objectId" equalTo:object.objectId];
PFObject* smallObject = [query getFirstObject];