And*_*rea 2 memory iphone memory-management ios memory-warning
你好社区,我正在尝试调试我没做的.这个应用程序在线工作并缓存文件系统上的所有内容,保存内存上的所有路径(很多路径)(我看到错误的方法,但我必须努力).这个应用程序有一个选项,可以下载所有内容并用相对路径填充内存.
问题是,当我检查此选项时,应用程序开始下载和缓存,但在它完成之前崩溃.在模拟器上一切正常.
崩溃报告日志讨论了由jetsam杀死的内存警告和应用程序.通过仪器上的分配来跟踪应用程序我发现实时字节"仅仅"大约7Mb,使用在下载期间添加的刷新机制也有帮助,在下载完成后释放旧路径.
根本没有明显的泄漏.
我开始使用VMTracker,我已经看到驻留和脏内存非常高,峰值在61Mb和21Mb左右.有一些我没有得到的东西.
我已经阅读了很多关于它的问题
"虚拟"和"居民"与虚拟记忆有什么关系?
如何摆脱Objective-C中的常驻脏内存?
但是,因为我发布了其他脏内存来自的大多数路径?我该如何清洁它?
谢谢,
安德烈
好吧,我发现了一个解决方案.通过各种测试,我发现可能连接缓存了一些东西.所以我设置了NSURLCache 0byte.我的应用程序现在似乎运行了很少的脏内存,几乎一半.一个很大的改进.这是令人惊讶的两行代码.
[[NSURLCache sharedURLCache] setMemoryCapacity:0];
[[NSURLCache sharedURLCache] setDiskCapacity:0];
Run Code Online (Sandbox Code Playgroud)
正如我所说的一些teck谈到Apple的脏内存也可以代表数据缓存,我仍然没有尝试在URL请求中设置缓存策略,但可能效果会相同.
希望能帮助别人.
| 归档时间: |
|
| 查看次数: |
4487 次 |
| 最近记录: |