@interface BDImageMonitorListener : NSObject
图片库监控日志回调。
返回 | 名称 |
---|---|
void* | registerMonitorCallback: |
void | unregisterMonitorCallback: |
返回 | 名称 |
---|---|
void | BDImageMonitorCallback |
+ (void * _Nullable)registerMonitorCallback:(BDImageMonitorCallback)callback;
注册图片库日志回调。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
callback | BDImageMonitorCallback | 需要注册的图片库日志回调。 |
返回值
注册功能返回的标记位,用于传递给 unregisterMonitorCallback 函数注销回调。
注意
+ (void)unregisterMonitorCallback:(void * _Nonnull)identifier;
注销一个已经注册的回调。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
identifier | void* | 注册时返回的标记位,即 registerMonitorCallback 函数的返回值。 |
typedef void (^BDImageMonitorCallback)(NSString * _Nonnull logType, NSDictionary * _Nullable attributes, id _Nullable extra0, id _Nullable extra1);
回调函数类型的定义。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
logType | NSString* | 当前图片库日志的名称。 |
attributes | NSDictionary* | 日志的主要信息内容。 |
extra0 | id | 后续扩展字段,目前为 nil。 |
extra1 | id | 后续扩展字段,目前为 nil。 |
注意
目前只会回调 image_monitor_v2 日志,即 logType 参数返回值固定为 image_monitor_v2。
@protocol BDAnimatedImagePlayerDelegate <NSObject>
动画持续进行的情况下,达到需要变更图片的场景时,会通过该协议回调信息。目前 BDWebImage 中 BDImageView 实现了该协议,通过接收回调信息,实现动图播放。
- (void)imagePlayer:(BDAnimatedImagePlayer *)Player didUpdateImage:(UIImage *)image index:(NSUInteger)index;
当前动图需要变更到下一张图片时的回调。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
Player | BDAnimatedImagePlayer* | BDAnimatedImagePlayer 动图播放器对象。 |
image | UIImage* | 即将变更到的图片。 |
index | NSUInteger | 即将变更到的图片的索引。 |
- (void)imagePlayerStartPlay:(BDAnimatedImagePlayer *)player;
开始播放动图并创建完成播放相关配置的回调。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
player | BDAnimatedImagePlayer* | BDAnimatedImagePlayer 动图播放器对象。 |
注意
如果开启了渐进式加载中的水位加载功能,由于水位卡点会导致当前的图片虽然有数据,但是可能并不满足图片的播放要求,也就不会触发此回调。
- (void)imagePlayerDidReachEnd:(BDAnimatedImagePlayer *)player;
顺序播放时,当前图片显示到目前能够获取的最后一帧画面的回调。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
player | BDAnimatedImagePlayer* | BDAnimatedImagePlayer 动图播放器对象。 |
注意
可能该图片还有剩下帧未显示,但因为网络下载尚未完成,当前并不清楚是否还有更多帧时也会触发此回调。
- (void)imagePlayerDidReachAllLoopEnd:(BDAnimatedImagePlayer *)player;
顺序播放时,动图播放停止(已达到循环次数)的回调。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
player | BDAnimatedImagePlayer* | BDAnimatedImagePlayer 动图播放器对象。 |
注意
渐进式加载时进行循环播放可能会多次触发此回调。
- (void)imagePlayerDidStopPlay:(BDAnimatedImagePlayer *)player;
当前动图从播放状态切换到静止状态时的回调(渐进式加载的过程中,图片可能因为没有后续帧而暂时的终止动画)。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
player | BDAnimatedImagePlayer* | BDAnimatedImagePlayer 动图播放器对象。 |
-(void)imagePlayerDelayPlay:(BDAnimatedImagePlayer *)player index:(NSUInteger)index animationDelayType:(BDProgressiveAnimatedImageDelayType)animationDelayType animationDelayState:(BDProgressiveAnimatedImageDelayState)animationDelayState;
达到预计时间时,下一帧并没有播放的卡顿回调。
传入参数
参数名 | 类型 | 说明 |
---|---|---|
player | BDAnimatedImagePlayer* | BDAnimatedImagePlayer 动图播放器对象。 |
index | NSUInteger | 即将加载的图片帧数索引。 |
animationDelayType | BDProgressiveAnimatedImageDelayType | 延迟类型,详见 BDProgressiveAnimatedImageDelayType。 |
animationDelayState | BDProgressiveAnimatedImageDelayState | 延迟状态,详见 BDProgressiveAnimatedImageDelayState。 |