Мое приложение должно отображать огромное количество изображений (около 2000) в UITableView.По сути, я использую следующий код для создания UITableViewCell:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
}
// Some Operations...
NSString *path = [self.dataArray jk_objectWithIndex:indexPath.row];
UIImage *img = [UIImage imageWithContentsOfFile:path];
cell.imageView.image = img;
return cell;
}
Это работает, но когда загружается представление таблицы, память быстро увеличивается, и кажется, что все изображения загружаются в память.
Есть ли хорошие идеи для решения этой проблемы?Я просто хочу сохранить память.
Кстати, кто-нибудь знает, каков общий путь для достижения этой потребности?Я думаю, что загрузка всех изображений в память - самый глупый способ ... И код, который я инициализирую в строках таблицы, следующий:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (!_isLoading) {
return self.dataArray.count; // about 2000... That's terrible
} else {
return 0;
}
}
Спасибо!