1000,000 개의 레코드가있는 내 응용 프로그램에 ScrollView를 배치하려고 할 때이 scrollView는 응용 프로그램이 시작될 때로드되므로 많은 수의 1000,000 000 레코드가 실행될 때까지 실행되지 않습니다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);
}
}
하십시오 조언 : 시간, 내가 궁금해서 기록을로드하는 동안 응용 프로그램과있는 ScrollView를 표시 할 수있는 방법 (그 레코드를 추가하는 동안있는 ScrollView를 표시), 코드 아래 사용하고있다.
의 코드를 시도 당신이있는 tableView처럼 작동 오히려 10,000 뷰를 만드는 몇 가지 견해를 순환 형 collectionView를 사용하는 것이 좋습니다 말. iOs 6을 사용하지 않는 것이이 lib https://github.com/steipete/PSTCollectionView를 살펴 본다면 일부 개발자는 iOS4.3 이상에서 작동하는 오픈 소스 버전을 만들었습니다. – BooRanger
또한 변수를 색으로 유지하고 nslog를 호출하지 않는 것과 같은 간단한 일은 속도가 빨라질 수 있습니다. – BooRanger
나는 처음에는 모든 레코드를로드하는 대신에 몇 가지 레코드를 처음으로로드 한 다음 사용자가 스크롤하고 이전 레코드를 제거 할 때 레코드를 추가 할 수 있습니다.이 아이디어는 tableView의 셀 재사용 개념과 유사합니다. –