首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >意外的海量存储使用

意外的海量存储使用
EN

Stack Overflow用户
提问于 2014-08-04 22:16:27
回答 2查看 182关注 0票数 0

我有一个应用程序,允许用户在UITableView中发布消息,供其他用户查看。我正在使用Parse.com作为我的应用程序的后端。每次加载表时,都会从解析中获取表中显示的所有信息。我遇到的问题是,当用户滚动浏览表中的帖子时,应用程序开始从磁盘中吸收内存。应用程序从大约9MB开始,在所有帖子上下滚动几分钟后,可能会爆炸超过500 9MB。

我无法想象这是如何发生的,因为我没有将任何数据保存到磁盘。以前有人见过这个吗,或者知道是什么东西吸走了这么多仓库?或者,是否有人有一个很好的策略来准确地弄清楚存储的是什么?

谢谢!

编辑

所以我已经找到了吸收所有记忆的代码。当我注释掉对这个方法的调用时,我不会遇到这个问题。

以下是代码:

基本上,我正在检查一个内部数据库(使用Realm.io),以查看当前用户是否喜欢该帖子。调用Post objectsWithPredicate:pred占用大量内存。为什么要这么做?一旦变量超出作用域,内存就不会被释放吗?或者这是由于领域的一些细节已经超出了我的头?

代码语言:javascript
复制
    - (void)updateButtonColorForCell:(PostTableViewCell *)cell withPost:(PFObject *)post
{
    UIColor *themeColor = ((AppDelegate *)[UIApplication sharedApplication].delegate).themeColor;

    // Make all user-liked cells theme color with white text
    NSString *dappedPosts;
    if ([post.parseClassName isEqualToString:@"Message"]) {
        likedPosts = @"likedMessages";
    } else if ([post.parseClassName isEqualToString:@"Comment"]) {
        likedPosts = @"likedComments";
    }
    NSPredicate *pred = [NSPredicate predicateWithFormat:@"objectId = %@", post.objectId];
    RLMArray *matches = [Post objectsWithPredicate:pred];
        if ([matches count]) {
            if (((Post *)[matches firstObject]).likedByMe) {
                cell.button.backgroundColor = themeColor;
                [cell.button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
            } else {
                cell.button.backgroundColor = [UIColor whiteColor];
                [cell.button setTitleColor:themeColor forState:UIControlStateNormal];
            }
        } else {
            NSLog(@"Message not found in db");
        }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-05 21:39:22

这应该通过最新的版本来修复,您可以在这里下载:http://static.realm.io/downloads/cocoa/latest

票数 1
EN

Stack Overflow用户

发布于 2014-08-04 22:21:26

在模拟器中运行您的应用程序,并查看应用程序目录(~/Library/Application /iPhone Simulator/version/Applications/app-install-id/) ),查看正在写入哪些文件。在您尝试修复和磁盘空间泄漏之前,您需要知道哪些文件被泄露到了哪些文件中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25128449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档