Tag: 延迟加载

使用延迟加载在滚动视图上加载图像

我正在一个应用程序中,我需要在滚动视图中加载近211个图像。 我正在做的是我将图像转换为二进制格式(NSData)并将其保存在核心数据中。 然后检索它们并在scrollview上填充它们。 它确实有效,但是有时它会抛出“内存警告”。 我了解到,懒加载是实现这一目标的一种方法。 但是,我并不完全知道它是如何完成的。 就像在当前滚动视图中可见的图像的前面/后面加载3或5个图像一样。 任何波特能帮助我一个简单的例子,这将帮助我从头开始理解? 并指出我在正确的方向。 感谢您的时间。

延迟加载多个滚动视图和dynamic图像

我很难与这一个,将不胜感激任何帮助,我的问题是,我在桌面视图中构build一个多图像轮播它包含自定义单元格与滚动视图中的每个滚动视图显示图像从xml通过互联网这意味着uiimageview作为scrollview子视图添加运行时。 我想懒加载这些图像,所以它不会占用太多的内存。 我find的样本仅使用1个滚动视图和预定义的图像计数。 提前致谢!

如何让UITableViewCell图像更新到下载的图像,而不必滚动UITableView

我试图拉我平常的UITableView +asynchronous下载+caching技术自己的味道。 我正在做的是,对于cellForRowAtIndexPath中出现的每个单元格: 1-Check if it's corresponding thumbnail image is already 'cached' in /Library/Caches 2-If it is, just use that. 3-If not, load a default image and enqueue an NSInvocationOperation to take care of it: 4a-The NSInvocationOperation gets the image from a remote server 4b-Does the UIGraphicsBeginContext thing to scale down the image to 40×40 […]

iOS 5 ARC懒惰图片加载库

有没有一个iOS 5弧兼容惰性图像加载库? 我没有find一个。 我的下一个想法是使EGOlazyloading一个编译的库,并将其链接到我的项目。 这会工作吗? 任何指针在进行? 谢谢!

iOS:如何阻止后台线程更新主线程中的用户界面?

我实现了一个UIImageView单元的UITableView,每个单元通过NSTimer每隔5秒定时刷新一次。 每个图像从后台线程的服务器加载,并从该后台线程,我也更新UI,显示新的图像,通过调用performSelectorOnMainThread 。 到现在为止还挺好。 目前,当我不等到一个图像被加载到当前单元格时,我会面临一个问题,并快速向下滚动到一个新的单元格。 然而,新的单元格显示的是前一个单元格的图像,而不是新单元格的图像。 虽然下一轮的NSTimer将会正确地显示图像,但是这可能首先会让用户感到困惑。 如果我不重用UITableView的单元格,问题就会消失,但是如果在我的应用程序中显示单元格的数量,这不是一个选项。 所以我能想到的唯一的解决scheme是取消(或杀死)将要显示旧图像的后台线程,如果我知道用户执行滚动操作。 我想知道这可能不是最好的做法,因此,寻求你的意见。 (我也不能使用SDWebImage,因为我的要求是显示从服务器加载的循环中的一组图像) // In MyViewController.m – (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { … NSTimer* timer=[NSTimer scheduledTimerWithTimeInterval:ANIMATION_SCHEDULED_AT_TIME_INTERVAL target:self selector:@selector(updateImageInBackground:) userInfo:cell.imageView repeats:YES]; … } – (void) updateImageInBackground:(NSTimer*)aTimer { [self performSelectorInBackground:@selector(updateImage:) withObject:[aTimer userInfo]]; } – (void) updateImage:(AnimatedImageView*)animatedImageView { @autoreleasepool { [animatedImageView refresh]; } } // In AnimatedImageView.m -(void)refresh { […]

在后台加载图像以优化ios中的加载

我试图优化我的应用程序的负载,实际上,我有很多图像加载在我的应用程序,我花了很多时间等待视图控制器打开,特别是第一个初始视图,其中包括很多的图像。 我看了一下苹果样品 但我不能重新工作整个应用程序,我想要的只是具体告诉我该怎么办? 在tableview ,cell的实现cellforrowatindexpath: NSURL *imageURL = ……; NSData *imageData = [NSData dataWithContentsOfURL:imageURL]; UIImage *imageLoad; imageLoad = [[UIImage alloc] initWithData:imageData]; imageView.image = imageLoad; 我可以做些什么吗? 感谢您的帮助!

iOS UIScrollView延迟加载

我只是想知道如果有人能为我解释这个代码,所以我可以从中学习。 我试图让我的应用程序有一个滚动左右滚动图片负载(从互联网),但事情是,它必须有延迟加载。 所以我做了一些教程,并想出如何做到这一点,但我真的不明白这一点。 所以我希望有一种灵魂会解释如何一步一步的懒惰负载 这是我从教程中学到的代码: -(void)scrollViewDidScroll:(UIScrollView *)myScrollView { /** * calculate the current page that is shown * you can also use myScrollview.frame.size.height if your image is the exact size of your scrollview */ int currentPage = (myScrollView.contentOffset.y / currentImageSize.height); // display the image and maybe +/-1 for a smoother scrolling // but be sure […]

Uiscrollview延迟加载

我已经有了使用AssetsLibrary的iPhone的所有图像。我在ImageView中传递UIImage对象,并显示滚动视图中的图像。 在iphone中有超过200个图像,我必须垂直显示所有的图像滚动视图不使用分页。这需要大量的时间来显示图像,它也有内存问题。 有没有在滚动视图中延迟加载iphone图像的任何代码

iOS上的线程安全延迟初始化

我有一个视图控制器,我想懒惰地初始化,一旦初始化,尽可能使用相同的副本(我不使用单身,因为我最终要从内存中删除它),我使用getter来这样做,我的代码看起来像这样: @property (retain) UIViewController *myController … @synthesize myController = _myController; … – (UIViewController *)myController { if (!_myController) { // Evaluation _myController = [[MyViewController alloc] init]; // Object Creation } return _myController; } 这是有效的,但它不是线程安全的,如果在创build对象之前有多个线程求值为true,那么我会发生内存泄漏。 我试过的一个解决scheme是@synchronized的代码,但我不知道正确的方法来做到这一点。 这似乎工作,(lockForMyController是一个简单的NSString),但它使这部分的代码慢很多: – (UIViewController *)myController { @synchronized(self.lockForMyController){ if (!_myController) { _myController = [[MyViewController alloc] init]; } } return _myController; } 我想知道是否有其他的方式来实现一个懒惰的初始化,线程安全的属性?

延迟加载UITableView与每个单元格中的多个图像

我正在使用延迟加载在一个表视图上显示图像。 但是我需要在每个单元格中创build一个包含多个图像的tableview,其中可以滚动。 所有图像只从服务器加载如何创build这个没有任何落后的表滚动? 有没有任何教程可用于此