使用15-20分钟后,我的应用程序占用了大约50-60 MB的内存,因为有很多数据库操作。
所以,任何人都可以告诉我如何释放我的应用程序的不必要的内存,这是不必要的?
NOTE : I am working on ARC based project
答案 0 :(得分:4)
您可以浏览此Finding Memory Leaks in iOS Application
在App中查找内存问题
以下配置选项通过活动监视器
提供特定于内存的信息发现泄漏
找到泄漏的内存 打开Leaks仪器。
从“选择目标”弹出菜单中选择您的应用程序。
单击“录制”按钮。
练习您的应用以执行代码,并在显示泄漏时单击“停止”按钮。
单击“详细信息”窗格中标识的任何泄漏对象。
在“扩展详细信息”窗格中,双击代码中的指令。
单击“详细信息”窗格中的Xcode图标以在Xcode中打开该代码。
答案 1 :(得分:0)
使用仪器。有很多教程,here就是一个。
答案 2 :(得分:0)
即使您在启用ARC的环境中工作,也需要以适当的方式管理内存分配
例如,在strong
执行此操作时,永远不要使用weak
引用分配您的对象。请考虑在正确的位置使用copy
,assign
引用。
在你完成它们之后,还要将你的物体指向零,这将有所帮助。
http://www.techrepublic.com/blog/ios-app-builder/understand-memory-management-under-arc/239
答案 3 :(得分:0)
如果对象对用户不可见,请不要将对象保留在内存中,尤其是它有blob对象。 尝试用Core Data替换sqlite。它有很多优点,比如
上面的许多内容也可以使用sqlite完成,但是你可以自己制定机制。
使用仪器检查是否有任何内存泄漏。如果你正在下载启用了缓存的东西,[[NSURLCache sharedURLCache] removeAllCachedResponses]来释放一些内存