Я экспериментирую с видом iPad, который я разрабатываю, и я столкнулся с проблемой памяти. В UIScrollView имеется несколько UIWebView-s. Каждый UIWebView отображает страницу html каждый из источника файла html. К сожалению, я не мог найти решение для обработки веб-представлений, чтобы загружать их плавно в фоновом режиме после загрузки приложения, а не загружать его и запускать все html-страницы со всеми его javascripts и изображениями, потому что я хочу, чтобы они были видимыми один раз Я прокручиваю их, я получаю сообщение «Предупреждение о получении памяти» на 30 панелях, и приложение разбивается.несколько UIWebView-s на UIScrollView
код я использую для отображения веб-просмотрах это:
NSInteger numberOfViews = 47;
for (int i = 0; i < numberOfViews; i++) {
CGFloat yOrigin = i * 768;
DetailViewController *detailViewController2 = [[DetailViewController alloc] initWithNibName:@"Detail" bundle:nil];
[detailViewController2.view setFrame:CGRectMake(yOrigin, 0, 768, 1024)];
detailViewController2.view.clipsToBounds = YES;
[scroll.view insertSubview:detailViewController2.view atIndex:0];
}
scroll.scrollView.contentSize = CGSizeMake(768 * numberOfViews,1004);
scroll.pageControl.numberOfPages = numberOfViews;
self.view.clipsToBounds = YES;
self.view.clearsContextBeforeDrawing = YES;
CGRect frame;
frame.origin.x = scroll.scrollView.frame.size.width * scroll.pageControl.currentPage;
frame.origin.y = 0;
frame.size = scroll.scrollView.frame.size;
[scroll.scrollView scrollRectToVisible:frame animated:NO];
self.scrollViewController = scroll;
[self.view insertSubview:scroll.view atIndex:0];
- (void)dealloc {
[scrollViewController release];
[tableOfContentsViewController release];
[portrait release];
[tableOfContents1 release];
[start release];
[super dealloc];
}
Код, который отображает содержимое HTML находится внутри DetaildViewController:
NSString *htmlPath = [[NSBundle mainBundle] pathForResource:htmlfilename
ofType:@"html"
inDirectory:@"/htdocs" ];
NSString *html = [NSString stringWithContentsOfFile:htmlPath
encoding:NSUTF8StringEncoding
error:nil];
web.delegate = self;
[web setMultipleTouchEnabled:YES];
[web loadHTMLString:html
baseURL:[NSURL fileURLWithPath:
[NSString stringWithFormat:@"%@/htdocs/",
[[NSBundle mainBundle] bundlePath]]]];
- (void)dealloc {
//---release the memory used by the property---
[page release];
[web setDelegate:nil];
[web stopLoading];
[web release];
[orientation release];
[page release];
[super dealloc];
}
Вопрос заключается в том, как я могу загрузить их плавно в фоновом режиме на UIScrollView и только запускать javascripts после того, как панель отскакивает в окне просмотра, я планирую отображать более 60 веб-просмотров с его html-страницами?
У вас есть ссылка на яблоко видео Re: рециркуляция веб взглядов? –