Objective c 在ios应用程序的滚动视图中添加1000个图像

Objective c 在ios应用程序的滚动视图中添加1000个图像,objective-c,ios,uiscrollview,Objective C,Ios,Uiscrollview,在我的ios应用程序中,我试图在滚动视图中加载1000个图像,当我运行代码时,它会崩溃。我发现是内存不足的错误。我尝试添加700张图片,但没有崩溃。但我想添加1000多张图片(约4000张)并供查看。如何管理所有图像并在没有任何崩溃的情况下获取它们 请帮助我的朋友们您必须仅在图像处于可见帧时加载图像。如果用户滚动离开加载的图像,则应卸载该图像并释放相关内存。这样,您就可以在不发生崩溃的情况下显示1000帧图像。您必须仅在图像处于可见帧时加载图像。如果用户滚动离开加载的图像,则应卸载该图像并释放相

在我的ios应用程序中,我试图在滚动视图中加载1000个图像,当我运行代码时,它会崩溃。我发现是内存不足的错误。我尝试添加700张图片,但没有崩溃。但我想添加1000多张图片(约4000张)并供查看。如何管理所有图像并在没有任何崩溃的情况下获取它们


请帮助我的朋友们

您必须仅在图像处于可见帧时加载图像。如果用户滚动离开加载的图像,则应卸载该图像并释放相关内存。这样,您就可以在不发生崩溃的情况下显示1000帧图像。

您必须仅在图像处于可见帧时加载图像。如果用户滚动离开加载的图像,则应卸载该图像并释放相关内存。这就是如何在不发生崩溃的情况下显示1000帧图像的方法。

我不知道图像来自何处,但我编写了一个自定义方法(在称为WebImageOperations的类中)来使用块和GCD加载图像:

下面是课堂: WebImageOperations.h

#import <Foundation/Foundation.h>

@interface WebImageOperations : NSObject {
}

// This takes in a string and imagedata object and returns imagedata processed on a background thread
+ (void)processImageDataWithURLString:(NSString *)urlString andBlock:(void (^)(NSData *imageData))processImage;
@end

这将根据需要加载图像,TableView将根据需要处理图像的解列。谢谢

我不知道您的图像来自哪里,但我编写了一个自定义方法(在一个名为WebImageOperations的类中)来使用块和GCD加载图像:

下面是课堂: WebImageOperations.h

#import <Foundation/Foundation.h>

@interface WebImageOperations : NSObject {
}

// This takes in a string and imagedata object and returns imagedata processed on a background thread
+ (void)processImageDataWithURLString:(NSString *)urlString andBlock:(void (^)(NSData *imageData))processImage;
@end

这将根据需要加载图像,TableView将根据需要处理图像的解列。谢谢

学习
UITableView
s的工作原理。它们通过在用户滚动时重复使用可见单元格来实现性能和速度,这样分配的单元格就不会比屏幕上可见的单元格多。谢谢,先生,我需要如何卸载到它。是否有任何示例代码请与我分享只需使用tableview,对于cell view,请使用图像。研究
UITableView
s的工作原理。它们通过在用户滚动时重复使用可见单元格来实现性能和速度,因此分配的单元格永远不会超过屏幕上可见的单元格。谢谢,先生,我需要如何卸载到它。是否有任何示例代码请与我共享只使用tableview,对于cell视图使用图像。尝试延迟加载概念尝试延迟加载概念
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

// Change cell.picImageView to your ImageView
cell.picImageView = [WebImageOperations roundedImageView:cell.picImageView];
// Pass along the URL to the image (or change it if you are loading there locally)
[WebImageOperations processImageDataWithURLString:urlString andBlock:^(NSData *imageData) {
    if (self.view.window) {
        UIImage *image = [UIImage imageWithData:imageData];

        cell.picImageView.image = image;
    }

}];