You need to enable JavaScript to run this app.
导航
回调
最近更新时间:2024.05.23 15:29:15首次发布时间:2024.05.23 15:29:15

BDImageMonitorListener
@interface BDImageMonitorListener : NSObject

图片库监控日志回调。

静态函数

返回名称
void*registerMonitorCallback:
voidunregisterMonitorCallback:

成员函数

返回名称
voidBDImageMonitorCallback

函数说明

registerMonitorCallback:

+ (void * _Nullable)registerMonitorCallback:(BDImageMonitorCallback)callback;

注册图片库日志回调。

传入参数

参数名类型说明
callbackBDImageMonitorCallback需要注册的图片库日志回调。

返回值

注册功能返回的标记位,用于传递给 unregisterMonitorCallback 函数注销回调。

注意

  • 先注册的 callback 会优先回调。
  • 出于性能考虑,图片库内部会共享使用日志内容,请务必注意线程安全。
  • 图片库内部会标记日志是否被您使用过,若后续因日志发生多线程崩溃,请您自行处理。
  • 监听图片库日志必然带来性能损耗,该方法会同步在图片库处理线程中调用,请勿在回调里执行复杂操作。

unregisterMonitorCallback:

+ (void)unregisterMonitorCallback:(void * _Nonnull)identifier;

注销一个已经注册的回调。

传入参数

参数名类型说明
identifiervoid*注册时返回的标记位,即 registerMonitorCallback 函数的返回值。

BDImageMonitorCallback

typedef void (^BDImageMonitorCallback)(NSString * _Nonnull logType, NSDictionary * _Nullable attributes, id _Nullable extra0, id _Nullable extra1);

回调函数类型的定义。

传入参数

参数名类型说明
logTypeNSString*当前图片库日志的名称。
attributesNSDictionary*日志的主要信息内容。
extra0id后续扩展字段,目前为 nil。
extra1id后续扩展字段,目前为 nil。

注意

目前只会回调 image_monitor_v2 日志,即 logType 参数返回值固定为 image_monitor_v2。

BDAnimatedImagePlayerDelegate
@protocol BDAnimatedImagePlayerDelegate <NSObject>

动画持续进行的情况下,达到需要变更图片的场景时,会通过该协议回调信息。目前 BDWebImage 中 BDImageView 实现了该协议,通过接收回调信息,实现动图播放。

成员函数

返回名称
voidimagePlayer:didUpdateImage:index:
voidimagePlayerStartPlay:
voidimagePlayerDidReachEnd:
voidimagePlayerDidReachAllLoopEnd:
voidimagePlayerDidStopPlay:
voidimagePlayerDelayPlay:index:animationDelayType:animationDelayState:

函数说明

imagePlayer:didUpdateImage:index:

- (void)imagePlayer:(BDAnimatedImagePlayer *)Player
     didUpdateImage:(UIImage *)image
              index:(NSUInteger)index;

当前动图需要变更到下一张图片时的回调。

传入参数

参数名类型说明
PlayerBDAnimatedImagePlayer*BDAnimatedImagePlayer 动图播放器对象。
imageUIImage*即将变更到的图片。
indexNSUInteger即将变更到的图片的索引。

imagePlayerStartPlay:

- (void)imagePlayerStartPlay:(BDAnimatedImagePlayer *)player;

开始播放动图并创建完成播放相关配置的回调。

传入参数

参数名类型说明
playerBDAnimatedImagePlayer*BDAnimatedImagePlayer 动图播放器对象。

注意

如果开启了渐进式加载中的水位加载功能,由于水位卡点会导致当前的图片虽然有数据,但是可能并不满足图片的播放要求,也就不会触发此回调。

imagePlayerDidReachEnd:

- (void)imagePlayerDidReachEnd:(BDAnimatedImagePlayer *)player;

顺序播放时,当前图片显示到目前能够获取的最后一帧画面的回调。

传入参数

参数名类型说明
playerBDAnimatedImagePlayer*BDAnimatedImagePlayer 动图播放器对象。

注意

可能该图片还有剩下帧未显示,但因为网络下载尚未完成,当前并不清楚是否还有更多帧时也会触发此回调。

imagePlayerDidReachAllLoopEnd:

- (void)imagePlayerDidReachAllLoopEnd:(BDAnimatedImagePlayer *)player;

顺序播放时,动图播放停止(已达到循环次数)的回调。

传入参数

参数名类型说明
playerBDAnimatedImagePlayer*BDAnimatedImagePlayer 动图播放器对象。

注意

渐进式加载时进行循环播放可能会多次触发此回调。

imagePlayerDidStopPlay:

- (void)imagePlayerDidStopPlay:(BDAnimatedImagePlayer *)player;

当前动图从播放状态切换到静止状态时的回调(渐进式加载的过程中,图片可能因为没有后续帧而暂时的终止动画)。

传入参数

参数名类型说明
playerBDAnimatedImagePlayer*BDAnimatedImagePlayer 动图播放器对象。

imagePlayerDelayPlay:index:animationDelayType:animationDelayState:

-(void)imagePlayerDelayPlay:(BDAnimatedImagePlayer *)player
                      index:(NSUInteger)index
         animationDelayType:(BDProgressiveAnimatedImageDelayType)animationDelayType
        animationDelayState:(BDProgressiveAnimatedImageDelayState)animationDelayState;

达到预计时间时,下一帧并没有播放的卡顿回调。

传入参数

参数名类型说明
playerBDAnimatedImagePlayer*BDAnimatedImagePlayer 动图播放器对象。
indexNSUInteger即将加载的图片帧数索引。
animationDelayTypeBDProgressiveAnimatedImageDelayType延迟类型,详见 BDProgressiveAnimatedImageDelayType
animationDelayStateBDProgressiveAnimatedImageDelayState延迟状态,详见 BDProgressiveAnimatedImageDelayState