forked from floraachy/ImageKnife
1.dispatch队列时,只下发progress状态的请求
2.filecache trim时,在主线程中不读取文件,减少主线程逻辑开销 Signed-off-by: madixin <madixin@huawei.com>
This commit is contained in:
parent
d152713556
commit
225754b15d
|
@ -201,9 +201,15 @@ export class ImageKnifeDispatcher {
|
|||
}
|
||||
|
||||
dispatchNextJob() {
|
||||
let request = this.jobQueue.pop()
|
||||
if (request !== undefined) {
|
||||
this.executeJob(request)
|
||||
while (true) {
|
||||
let request = this.jobQueue.pop()
|
||||
if (request === undefined){
|
||||
break// 队列已无任务
|
||||
}
|
||||
else if (request.requestState === ImageKnifeRequestState.PROGRESS) {
|
||||
this.executeJob(request)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -204,10 +204,10 @@ export class FileCache {
|
|||
break
|
||||
}
|
||||
let delkey = this.lruCache.keys()[0]
|
||||
let data: ArrayBuffer | undefined = FileUtils.getInstance().readFileSync(this.path + delkey)
|
||||
if (data !== undefined) {
|
||||
let remove: number | undefined = this.lruCache.remove(this.lruCache.keys()[0])
|
||||
if (remove !== undefined) {
|
||||
FileUtils.getInstance().deleteFile(this.path + delkey)
|
||||
this.removeMemorySize(data)
|
||||
this.removeMemorySize(remove)
|
||||
}
|
||||
this.lruCache.remove(delkey)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue