UITableView内存问题

时间:2016-03-10 03:18:44

标签: swift caching memory tableview avplayer

memory pressure graph

我是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剩余,最后我的应用程序粉碎。我该怎么办这个问题?如果信息不够,我可以编辑。

1 个答案:

答案 0 :(得分:0)

在viewDidDisappear中,请确保同时调用super.viewDidDisappear。引用文档 -

  

您可以覆盖此方法以执行其他相关任务   解雇或隐藏视图。如果您覆盖此方法,则为您   必须在你的实施中的某个时刻打电话给超级。

这可能会减轻您的记忆问题。试一试。