NSUserDefaults initWithSuiteName在iOS 8中泄漏内存?

时间:2014-12-18 23:32:14

标签: ios ios8

我的项目使用ARC。 Instruments中的Leaks工具报告NSUserDefaults initWithSuiteName:泄漏内存。

有没有人注意到这个?

NSUserDefaults *theDefaults = [[NSUserDefaults alloc] initWithSuiteName:self.myGroupNameStr];

enter image description here

3 个答案:

答案 0 :(得分:3)

好的,这似乎是我自己的问题。

[NSUserDefaults standardUserDefaults]不同,我自己的代码必须假定保留[[NSUserDefaults alloc] initWithSuiteName:@"group.com.company.app"]的所有权。

因此修复是在我的UIInputViewController加载时初始化self.myDefaults,然后在我self.myDefaults的dealloc中初始化UIInputViewController

答案 1 :(得分:2)

为NSUserDefaults创建一个单独的sharedManager,并为应用程序周期初始化该对象

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div class="ticker" style="text-align: center">Ticker Text</div>

答案 2 :(得分:-5)

// 试试这种方式 .//

[[NSUserDefaults standardUserDefaults] setObject:AppDel.arrQueueForOffline forKey:@"Queued_Process"];

[[NSUserDefaults standardUserDefaults] synchronize];