ios - ScrollView 太慢——内存管理问题?

标签 ios xcode memory-management

在我的应用中,我使用 ScrollView 显示 300 张图像 (400 kB)。 耗时将近2分钟,结果上下滚动时不流畅。

我该如何解决这个问题?

注意:我注意到,在我向下滚动到 ScrollView 末尾一次后,它变得平滑了。 滚动问题仅在第一次出现。

最佳答案

尝试将它添加到您的加载函数中(加载图像的地方)。如果您使用 while 或 for 循环来加载图像,请将此代码添加到循环中。

NSURL *url=//here url for your image   
dispatch_queue_t currentQueue = dispatch_get_current_queue();
dispatch_queue_t dataConvertorQueue = dispatch_queue_create("Fetching images", NULL);
dispatch_async(dataConvertorQueue, ^{
    NSData *data = [NSData dataWithContentsOfURL:url];
    dispatch_async(currentQueue, ^{
       //replace imageView with your imageView outlet
       imageView.image = [[UIImage alloc] initWithData:data]];
    });
});
dispatch_release(dataConvertorQueue);

此代码可帮助您从 url 中获取和显示图像,并且它适用于 tableview。它可能不是你想要的,但它会给你一个关于如何去做的想法。希望对您有所帮助。

关于ios - ScrollView 太慢——内存管理问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10188079/

相关文章:

ios - 当我想在 UICollectionview 中添加一个单元格时,它会出现两个 - Swift 3

iphone - resignFirstResponder 不会关闭键盘

ios - 如何在 Swift 中暂时停止使用某个方法?

通过基指针的 C++ 显式析构函数调用

visual-c++ - 如果内存泄漏会发生什么?

ios - 无法在钥匙串(keychain)中添加新项目。 ADAL iOS 中的错误代码 : -25243.

ios - 选项卡栏的 Interface Builder 问题

ios - 为什么约束优先于 Xcode 中的自动调整大小?

iphone - UIScrollView 对象问题

c++ - 动态内存分配是如何工作的