文档章节

PHCachingImageManager简单记录

杨志强
 杨志强
发布于 2016/05/18 17:37
字数 261
阅读 203
收藏 0
点赞 2
评论 0

注意:IOS 8.0之后可以使用

简单来说,IOS获取相册现在有了官方的缓冲机制了。

1.创建出PHCachingImageManager对象,

2.使用

- (void)startCachingImagesForAssets:(NSArray<PHAsset *> *)assets
                         targetSize:(CGSize)targetSize
                        contentMode:(PHImageContentMode)contentMode
                            options:(PHImageRequestOptions *)options

 

3.使用

- (PHImageRequestID)requestImageForAsset:(PHAsset *)asset
                              targetSize:(CGSize)targetSize
                             contentMode:(PHImageContentMode)contentMode
                                 options:(PHImageRequestOptions *)options
                           resultHandler:(void (^)(UIImage *result,
                                                   NSDictionary *info))resultHandler

在resultHandler中把result赋值给对应的UIImageView就OK了。(asset必须在assets中,targetSize必须相同,contentMode必须相同,options必须相同)

 

附官方例子:

https://developer.apple.com/library/ios/samplecode/UsingPhotosFramework/Listings/SamplePhotosApp_AAPLAssetGridViewController_m.html

附官方说明:

To use a caching image manager:

  1. Create a PHCachingImageManager instance. (This step replaces using the shared PHImageManagerinstance.)

  2. Use PHAsset class methods to fetch the assets you’re interested in.

  3. To prepare images for those assets, call thestartCachingImagesForAssets:targetSize:contentMode:options: method with the target size, content mode, and options you plan to use when later requesting images for each individual asset.

  4. When you need an image for an individual asset, call therequestImageForAsset:targetSize:contentMode:options:resultHandler: method, and pass the same parameters you used when preparing that asset.

    If the image you request is among those already prepared, the PHCachingImageManager object immediately returns that image. Otherwise, Photos prepares the image on demand and caches it for later use.

© 著作权归作者所有

共有 人打赏支持
杨志强
粉丝 2
博文 2
码字总数 261
作品 0
福州
高级程序员
iOS 开发之照片框架详解之二 —— PhotoKit 详解(下)

这里接着前文《iOS 开发之照片框架详解之二 —— PhotoKit 详解(上)》,主要是干货环节,列举了如何基于 PhotoKit 与 AlAssetLibrary 封装出通用的方法。 三. 常用方法的封装 虽然 PhotoK...

hejunbinlan
2016/06/24
34
0
iOS Photos Framework高性能获取系统相册图片

PhotoKit简介 PhotoKit 是iOS8之后新出一套比 AssetsLibrary 更完整也更高效的库,对资源的处理跟 AssetsLibrary 也有很大的不同。 先简单介绍几个Photos的类: PHAsset: 代表照片库中的一个...

iTruda
06/21
0
0
LivePhoto开发,你要知道的知识点

前言 Apple从iPhone6s开始支持Live Photo。Live Photo 会录下拍照前后 1.5 秒所发生的一切,因此用户获得的不仅仅是一张精美照片,还有拍照前后时刻的动作和声音。具体的操作可以参见拍照和编...

zhanggui
07/09
0
0
排序——简单选择排序

一、选择排序概念 选择排序(Selection Sort)的基本思想:对n个记录进行扫描,选择最小的记录,将其输出,接着在剩下的n-1个记录中扫描,选择最小的记录将其输出……不断重复这个过程,直到...

翼动动空
2016/06/06
1K
0
50个 Windows Phone App 创意

我用了两个小时的时间想了下面50个创意,其中有些想法实在是简单的无法再简单了,不过我把这些想法写下来的目的是给大家开拓思路。当然你也可以把这些想法做在别的平台上,我说用 Windows Ph...

虫虫
2012/02/20
3.3K
6
一个简单的 C# 异步日志记录器

本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! Clearcove.Logging是一个非常简单的日志库,旨在通过直接许可条款满足大多数日志记录需求。 介绍 ...

码农网
04/13
0
0
聊聊ALAssetsLibrary 与 Photos

和都是Apple提供访问系统相册资源的两个标准库,前者在iOS9之后已经被弃用,后者在iOS8上开始支持。可想而知,库提供了更全面更友好的接口。 本文通过对比两者的用法来系统地学习一下“iOS访...

foolishBoy
2017/10/25
0
0
关于Db.save()遇到重复记录问题

@JFinal 你好,想跟你提个建议: Db.save里面只是简单的insert into ,但如果我要插入一条记录,不知道数据库中是否已经存在记录,如果我去查询这条记录,如果没有,则加入;有则跳过,这意味...

leopard777
2015/01/15
442
1
dbware 1.0.1 发布,主备数据库读写分离

dbware 主要实现主备数据库的读写分离。支持负载均衡策略,支持事务,支持对sql的简单监控,如记录查询SQL以及慢查询。简单易用,配置也很简单。完全可以看做数据库的代理层。客户端连接dbw...

donnie-wu
2013/01/07
1K
3
Python 日志系统--Eliot

Eliot 是一个 Python 日志系统,不只是为简单应用程序所设计,更主要是为一些复杂的应用和分布式系统设计。支持简单结构消息,同时也可记录一系列的动作链。 特性: 结构化,类型化的日志消息...

红薯
2015/01/30
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CoreText进阶(七)-添加自定义View和对其

CoreText进阶(七)-添加自定义View和对其 效果  实现代码如下: - (void)viewDidLoad { [super viewDidLoad]; self.edgesForExtendedLayout = UIRectEdgeNone; self.view.bac......

aron1992
3分钟前
0
0
Python爬虫 爬取百合网的女人们和男人们

学Python也有段时间了,目前学到了Python的类。个人感觉Python的类不应称之为类,而应称之为数据类型,只是数据类型而已!只是数据类型而已!只是数据类型而已!重要的事情说三篇。 据书上说...

p柯西
15分钟前
0
0
在Java中,你真的会日期转换吗

1.什么是SimpleDateFormat 在java doc对SimpleDateFormat的解释如下: SimpleDateFormatis a concrete class for formatting and parsing dates in a locale-sensitive manner. It allows fo......

Java小铺
23分钟前
0
0
Linux系统梳理---系统搭建(二):tomcat的安装和使用

上一章讲到JDK的安装使用,这一章主要记录下服务器tomcat的安装以及部署一个项目. 1.下载tomcat,这里下载的是apache-tomcat-8.5.32.tar.gz 2.创建文件夹,便于管理,和JDK一样,在usr目录下创建t...

勤奋的蚂蚁
34分钟前
0
0
ES15-聚合

1.Terms Aggregation 分组聚合 2.Filter Aggregation 过滤聚合

贾峰uk
35分钟前
0
0
【2018.07.19学习笔记】【linux高级知识 20.27-20.30】

20.27 分发系统介绍 20.28 expect脚本远程登录 20.29 expect脚本远程执行命令 20.30 expect脚本传递参数

lgsxp
38分钟前
0
0
10.32/10.33 rsync通过服务同步~10.35 screen工具

通过服务的方式同步要编辑配置文件:[root@linux-xl ~]# vim /etc/rsyncd.confport=873log file=/var/log/rsync.logpid file=/var/run/rsyncd.pidaddress=192.168.43.21[tes...

洗香香
41分钟前
0
0
与女儿谈商业模式 (3):沃尔玛的成功模式

分类:与女儿谈商业模式 | 标签: 经济学 沃尔玛 陈志武 2007-05-10 09:09阅读(11279)评论(30) 与女儿谈商业模式 (3):沃尔玛的成功模式 陈志武 /文 沃尔玛(Wal-Mart)是另一个有意思的财...

祖冲之
47分钟前
0
0
网页加载速度优化方法总结

1、减少请求 最大的性能漏洞就是一个页面需要发起几十个网络请求来获取诸如样式表、脚本或者图片这样的资源,这个在相对低带宽和高延迟的移动设备连接上来说影响更严重。 2、整合资源 对开发...

Jack088
53分钟前
0
0
dubbo学习

https://blog.csdn.net/houshaolin/article/details/76408399

喵五郎
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部