我使用MKMapView,MoviePlayer,Recording Videos,Downloading the Videos and Uploading videos at Amazone Server
开发了应用程序。
现在当我只用MKMapview
窗口打开屏幕时,每次只将内存增加到10 MB,当我从该屏幕返回时,它只减少5 MB。与MPMoviePlayer
相同。
我的上传线程在后台模式下连续运行。(它将检查一些plist文件,如果plist文件有一些条目,它将开始在后台进程上传视频,完成后将停止线程1分钟然后再次为前述进程启动它)但是我使用__weak属性保留了对象,这不是使用我的记忆的原因。
我对 MKMapview和MPMoviewPlayer 怀疑使用高内存而不是重新定位它。
在我的应用程序中我有从服务器播放的视频,在播放时我需要从服务器下载相同的视频。
表示用户也可以看到地图。
现在我的问题可能是我的应用程序正在使用这么多东西所以运行时内存达到 218 MB 并且如果我连续使用它并且非常粗略地访问它会崩溃应用程序。
所以任何人都可以建议我如何防止这种内存崩溃。我也检查内存泄漏。但是我发现了很多重要的泄漏。
我在想UIImagePickerController,MkMapview,MPMoviewplayer,Download,upload Videos
这种功能让我的应用程序吃得更多回忆。
当我在我的应用程序中访问屏幕时,手机内存不断高低......
答案 0 :(得分:4)
我要检查的第一件事是你是否创建了很多自动释放对象,并且不会耗尽自动释放池。如果您未使用@autoreleasepool {...}
设置自己的自动释放池,则只有当应用程序返回主事件循环时,才会清空默认的自动释放池。此外,任何后台线程都应安装自动释放池。请查看the docs。