Я пытаюсь поместить ScrollView в мое приложение с 1000 000 записей, этот scrollView будет загружаться, когда приложение запустится, поэтому приложение не будет работать, пока миллион 1000 000 записей не займет много времени время, мне было интересно, есть ли способ, чтобы показать приложение и Scrollview во время записи загрузки (показывать Scrollview при добавлении его записи), ниже код я использую:UIScrollView занимает слишком много времени
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self loadIt];
}
- (void)loadIt{
float startX = 0;
float startY = 0;
[_bigScroll setContentSize:CGSizeMake(320, 312500)];
_bigScroll.pagingEnabled = NO;
for (counter=0; counter<999999; counter++)
{
UIButton *tester=[[UIButton alloc] initWithFrame:CGRectMake(startX, startY, 10, 10)];
if (counter % 2 == 0) {
[tester setBackgroundColor:[UIColor whiteColor]];
}
else
{
[tester setBackgroundColor:[UIColor grayColor]];
}
[_bigScroll addSubview:tester];
[tester release];
if (startX == 320) {
startX = 0;
startY += 10;
}
else
startX += 10;
NSLog(@"counter = %d", counter);
}
}
Пожалуйста, советы.
Допустим, вы хотите использовать CollectionView, который работает как Tableview и перерабатывает несколько видом, а затем сделать 10000 взглядов. Если вы не используете iOs 6, посмотрите на этот файл https://github.com/steipete/PSTCollectionView, какой-то чувак сделал версию с открытым исходным кодом, которая работает для iOS4.3 +. – BooRanger
Также простые вещи, такие как сохранение переменной с цветом и не вызов nslog, могут ускорить процесс. – BooRanger
Я бы посоветовал ... вместо загрузки всех записей в начале, вы можете просто загрузить несколько записей изначально, а затем добавить к нему записи, поскольку пользователь прокручивает и удаляет предыдущие записи, это будет потреблять меньше памяти .....идея аналогична концепции повторного использования ячейки tableView. –