0

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

4

1 回答 1

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];
于 2012-12-31T10:05:27.007 回答