1.完善readme对于syncLoad的描述

2.回调时,对相同key的请求,都需要分别判断是否已经destroy了。

Signed-off-by: madixin <madixin@huawei.com>
This commit is contained in:
madixin 2024-06-07 08:55:09 +08:00
parent 134c687efc
commit 9fbea8f624
2 changed files with 24 additions and 26 deletions

View File

@ -242,8 +242,8 @@ ImageKnifeComponent({ ImageKnifeOption:
} }
}).width(100).height(100) }).width(100).height(100)
``` ```
#### 9.ImageKnifeComponent - syncLoad 的使用 #### 9.ImageKnifeComponent - syncLoad
修复在消息列表场景,新增消息时头像出现闪动 设置是否同步加载图片默认是异步加载。建议加载尺寸较小的本地图片时将syncLoad设为true因为耗时较短在主线程上执行即可
``` ```
ImageKnifeComponent({ ImageKnifeComponent({
imageKnifeOption:{ imageKnifeOption:{

View File

@ -284,9 +284,7 @@ export class ImageKnifeDispatcher {
// todo 判断request生命周期已销毁的不需要再绘制 // todo 判断request生命周期已销毁的不需要再绘制
// key相同的request一起绘制 // key相同的request一起绘制
requestList.forEach((requestWithSource: ImageKnifeRequestWithSource) => { requestList.forEach((requestWithSource: ImageKnifeRequestWithSource) => {
if (requestWithSource.request.requestState === ImageKnifeRequestState.DESTROY) { if (requestWithSource.request.requestState !== ImageKnifeRequestState.DESTROY) {
return;
}
// 画主图 // 画主图
if (requestWithSource.source === ImageKnifeRequestSource.SRC || if (requestWithSource.source === ImageKnifeRequestSource.SRC ||
requestWithSource.source === ImageKnifeRequestSource.ERROR_HOLDER requestWithSource.source === ImageKnifeRequestSource.ERROR_HOLDER
@ -309,7 +307,7 @@ export class ImageKnifeDispatcher {
} else if (requestWithSource.source == ImageKnifeRequestSource.ERROR_HOLDER) { } else if (requestWithSource.source == ImageKnifeRequestSource.ERROR_HOLDER) {
requestWithSource.request.requestState = ImageKnifeRequestState.ERROR; requestWithSource.request.requestState = ImageKnifeRequestState.ERROR;
} }
}
}); });
this.executingJobMap.remove(memoryKey); this.executingJobMap.remove(memoryKey);