1.完善readme对于syncLoad的描述
2.回调时,对相同key的请求,都需要分别判断是否已经destroy了。 Signed-off-by: madixin <madixin@huawei.com>
This commit is contained in:
parent
134c687efc
commit
9fbea8f624
|
@ -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:{
|
||||||
|
|
|
@ -284,32 +284,30 @@ 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 ||
|
||||||
// 画主图
|
requestWithSource.source === ImageKnifeRequestSource.ERROR_HOLDER
|
||||||
if (requestWithSource.source === ImageKnifeRequestSource.SRC ||
|
|| (requestWithSource.source === ImageKnifeRequestSource.PLACE_HOLDER &&
|
||||||
requestWithSource.source === ImageKnifeRequestSource.ERROR_HOLDER
|
requestWithSource.request.requestState === ImageKnifeRequestState.PROGRESS)) {
|
||||||
|| (requestWithSource.source === ImageKnifeRequestSource.PLACE_HOLDER &&
|
LogUtil.log("ImageKnife_DataTime_getAndShowImage_showPixelMap.start:"+currentRequest.imageKnifeOption.loadSrc)
|
||||||
requestWithSource.request.requestState === ImageKnifeRequestState.PROGRESS)) {
|
requestWithSource.request.ImageKnifeRequestCallback.showPixelMap(requestWithSource.request.componentVersion,
|
||||||
LogUtil.log("ImageKnife_DataTime_getAndShowImage_showPixelMap.start:"+currentRequest.imageKnifeOption.loadSrc)
|
ImageKnifeData.source, requestWithSource.source);
|
||||||
requestWithSource.request.ImageKnifeRequestCallback.showPixelMap(requestWithSource.request.componentVersion,
|
LogUtil.log("ImageKnife_DataTime_getAndShowImage_showPixelMap.end:"+currentRequest.imageKnifeOption.loadSrc)
|
||||||
ImageKnifeData.source, requestWithSource.source);
|
|
||||||
LogUtil.log("ImageKnife_DataTime_getAndShowImage_showPixelMap.end:"+currentRequest.imageKnifeOption.loadSrc)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (requestWithSource.source == ImageKnifeRequestSource.SRC) {
|
|
||||||
requestWithSource.request.requestState = ImageKnifeRequestState.COMPLETE;
|
|
||||||
if (requestWithSource.request.imageKnifeOption.onLoadListener &&
|
|
||||||
requestWithSource.request.imageKnifeOption.onLoadListener.onLoadSuccess) {
|
|
||||||
// 回调请求成功
|
|
||||||
requestWithSource.request.imageKnifeOption.onLoadListener.onLoadSuccess(ImageKnifeData.source,ImageKnifeData.imageWidth,ImageKnifeData.imageHeight);
|
|
||||||
LogUtil.log("ImageKnife_DataTime_getAndShowImage_onLoadSuccess:"+currentRequest.imageKnifeOption.loadSrc)
|
|
||||||
}
|
}
|
||||||
} else if (requestWithSource.source == ImageKnifeRequestSource.ERROR_HOLDER) {
|
|
||||||
requestWithSource.request.requestState = ImageKnifeRequestState.ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (requestWithSource.source == ImageKnifeRequestSource.SRC) {
|
||||||
|
requestWithSource.request.requestState = ImageKnifeRequestState.COMPLETE;
|
||||||
|
if (requestWithSource.request.imageKnifeOption.onLoadListener &&
|
||||||
|
requestWithSource.request.imageKnifeOption.onLoadListener.onLoadSuccess) {
|
||||||
|
// 回调请求成功
|
||||||
|
requestWithSource.request.imageKnifeOption.onLoadListener.onLoadSuccess(ImageKnifeData.source,ImageKnifeData.imageWidth,ImageKnifeData.imageHeight);
|
||||||
|
LogUtil.log("ImageKnife_DataTime_getAndShowImage_onLoadSuccess:"+currentRequest.imageKnifeOption.loadSrc)
|
||||||
|
}
|
||||||
|
} else if (requestWithSource.source == ImageKnifeRequestSource.ERROR_HOLDER) {
|
||||||
|
requestWithSource.request.requestState = ImageKnifeRequestState.ERROR;
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
this.executingJobMap.remove(memoryKey);
|
this.executingJobMap.remove(memoryKey);
|
||||||
|
|
Loading…
Reference in New Issue