ios - cell里面显示相册大图性能优化
怪我咯
怪我咯 2017-04-17 14:29:19
[iOS讨论组]

如题,我要在cell里面显示相册获取到的图片。
是大图。我的方法如下:

第一种方法:

 ALAssetRepresentation *rep = [asset defaultRepresentation];
                    NSLog(@"图片大小%lld", rep.size);
                    Byte *buffer = (Byte*)malloc(rep.size);
                    NSUInteger buffered = [rep getBytes:buffer fromOffset:0.0 length:rep.size error:nil];
                    NSData *imageData = [NSData dataWithBytesNoCopy:buffer length:buffered freeWhenDone:YES];//this is NSData may be what you want
                    UIImage *image = [UIImage imageWithData: imageData];

第二种方法:

 CGImageRef imageRef = [asset defaultRepresentation].fullResolutionImage;
                    UIImage *bigImage = [UIImage imageWithCGImage:imageRef];

                    cell.customImageview.image = bigImage;

每次取到图片,我都会缓存起来。尽管如此。还是因为内存上升导致闪退的情况。

如果是小图,比如[asset thumbnail]
这样就不会出现性能问题。我那样显示的应该是最原始的高清大图。内存肯定吃紧。如果能显示中等高清的图片,或许情况会好一点。

不知道如何解决了。

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(1)
PHP中文网

在一篇博客里面找到了相关解决方法:http://blog.csdn.net/apple_app/article/details/38847357

原理就是不必加载高清图,按需加载。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号