Iphone iOS分析与虚拟机跟踪。脏内存和驻留内存导致内存警告,我应该怎么做?

Iphone iOS分析与虚拟机跟踪。脏内存和驻留内存导致内存警告,我应该怎么做?,iphone,ios,memory,memory-management,memory-warning,Iphone,Ios,Memory,Memory Management,Memory Warning,大家好, 我正在试着调试我没有做的。这个应用程序可以在线工作,缓存文件系统中的所有内容,并将所有路径(很多路径)保存在内存中(我看到了错误的方法,但我必须处理这个问题)。此应用程序有一个选项,使下载所有内容并用相对路径填充内存。问题是,当我选中此选项时,应用程序开始下载和缓存,但在完成之前崩溃。在模拟器上,一切正常。 崩溃报告日志讲述了内存警告和应用程序被jetsam杀死。 通过仪器上的分配跟踪应用程序,我发现活动字节“刚好”在7Mb左右,这也有助于使用下载期间添加的刷新机制,在下载完成后释放旧


大家好, 我正在试着调试我没有做的。这个应用程序可以在线工作,缓存文件系统中的所有内容,并将所有路径(很多路径)保存在内存中(我看到了错误的方法,但我必须处理这个问题)。此应用程序有一个选项,使下载所有内容并用相对路径填充内存。
问题是,当我选中此选项时,应用程序开始下载和缓存,但在完成之前崩溃。在模拟器上,一切正常。
崩溃报告日志讲述了内存警告和应用程序被jetsam杀死。 通过仪器上的分配跟踪应用程序,我发现活动字节“刚好”在7Mb左右,这也有助于使用下载期间添加的刷新机制,在下载完成后释放旧路径。
根本没有可见的泄漏。
我开始使用VMTracker,我发现驻留内存和脏内存都非常高,峰值分别为61Mb和21Mb。有些东西我没有得到。
我读了很多关于它的问题


但既然我正在释放其他脏内存来自的大部分创建路径?我怎样才能清洗它?
谢谢,

Andrea

嗯,我想找到了一个解决方案。通过各种测试,我发现连接可能在缓存某些东西。因此,我已将NSURLCache设置为0字节。我的应用程序现在运行时似乎只有很少的脏内存,几乎只有一半。一个很大的改进。下面是令人惊讶的两行代码

[[NSURLCache sharedURLCache] setMemoryCapacity:0];
[[NSURLCache sharedURLCache] setDiskCapacity:0];
正如我所说的,苹果的脏内存也可以代表数据缓存,我仍然没有尝试在URL请求中设置缓存策略,但效果可能是一样的

希望能帮助别人