Photos框架的使用
2018-12-07 本文已影响8人
iOS苦逼开发
使用从Photos框架中获取的PHAsset获取UIImage的时候,Photos框架提供了两种方法:
1、PHImageManager的requestImageForAsset:这个方法是通过PHAsset直接获取到UIImage对象,很多人会惯用这个方法,因为获取缩略图也是使用这个方法,比较方便,获取大图也会自然而然使用这个方法,但是这个方法有一个大坑,我被困扰了好长一段时间。使用这个方法获取UIImage时,会对图片进行渲染,如果你的图片很大的时候,比如全景图,那么很大可能会导致app因为内存暴涨问题崩溃,而且获取的耗时也会增加;
2、PHImageManager的requestImageDataForAsset:这个方法是把PHAsset转化为NSData对象返回给我们,使用NSData对象可以转化为UIImage对象,因为这个方法是直接返回二进制数据,所以当加载大图、高清图时使用这个方法可以避免内存暴涨问题;