我是swift的新手,我正在构建一个类似于藤蔓的应用程序。首先,我打开我的应用程序,我按照下面的代码看到了
videoArray.removeAll()
let url = NSURL(string: "http://....")!
self.videoArray.removeAll()
Mellon.getExploreVideos(url,cache: cache, completionHandler: { (data, response, error) -> () in
dispatch_async(dispatch_get_main_queue()){
self.videoArray = data!
self.tableView.reloadData()
}
})
override func viewDidDisappear(animated: Bool) {
cache?.removeAllObjects()
videoArray.removeAll()
tableView.reloadData()
NSNotificationCenter.defaultCenter().removeObserver(self.tableView)
print("siliniyor")
}
在每8个单元格中,我称之为getExplore func。我的自定义视图单元格中的tableview单元格中有大约80个视频我正在构建AVURLAsset和AVplayer。我还在getExplore中为缓存设置了对象,当我关闭视图控制器时,我正在删除所有这些但是从图片中看到所有内存都没有在每次滚动tableview开始结束时删除(我有80个视频,tableView)和我改为查看控制器并再次返回我在内存中有20 mb剩余,最后我的应用程序粉碎。我该怎么办这个问题?如果信息不够,我可以编辑。
答案 0 :(得分:0)
在viewDidDisappear中,请确保同时调用super.viewDidDisappear。引用文档 -
您可以覆盖此方法以执行其他相关任务 解雇或隐藏视图。如果您覆盖此方法,则为您 必须在你的实施中的某个时刻打电话给超级。
这可能会减轻您的记忆问题。试一试。