使用自动引用计数时的内存分配

时间:2012-12-31 09:47:19

标签: iphone objective-c automatic-ref-counting

我在我的项目中使用自动引用计数。我有三个屏幕。在第一个屏幕上有一个按钮可以在第二个屏幕上显示带有链接的表格视图。当我点击它在另一个视图控制器上的Web视图内打开的链接时。我正在使用导航控制器在屏幕之间导航。  现在在分析应用程序时我正在监视内存分配。我发现第一个屏幕上的实时字节是5.27,当我点击按钮进入下一个屏幕时,当我再次回到第一个屏幕时,读数是5.45在第一个屏幕上,初始(5.27)和最终(5.36)值之间存在微小的差异.Fine。但是当我再次进入第二个屏幕并从第二个屏幕打开网页视图内的链接时,读数为7.93。当我再次导航到第一个屏幕时,读数为6.57。因此,当我打开Web视图时,第一个屏幕上的初始读数和最终读数之间存在很大差异。我在读数之间得到差异的原因是什么?我在内存泄漏时使用的字节是什么。

1 个答案:

答案 0 :(得分:1)

由于缓存,当你收到内存警告时调用它来释放所有的脂肪

 [[NSURLCache sharedURLCache] removeAllCachedResponses];

并且您可以在APp启动时通过以下呼叫配置缓存

 int cacheSizeMemory = 4*1024*1024; 
int cacheSizeDisk = 32*1024*1024; 
NSURLCache *sharedCache = [[NSURLCache alloc] initWithMemoryCapacity:cacheSizeMemory diskCapacity:cacheSizeDisk diskPath:@"nsurlcache"];
[NSURLCache setSharedURLCache:sharedCache];