在我的应用中,我使用 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/