Giter Site home page Giter Site logo

Comments (2)

onevcat avatar onevcat commented on July 22, 2024

@meiyongsheng 感谢汇报这个问题。

暂时这个方法被安排在了主线程上调用,做 dispatch 应该可以缓解,但是可能会涉及到一些后向兼容的问题 (比如 .loadDiskFileSynchronously) 和部分 API breaking。我考虑一下看看有没有更好的方法。

另外,想要请教一下,大概是在多长时间内 (比如一个 main runloop?) 检查多少图片缓存会导致这个问题?如果数量太夸张且没有必要的话,是不是也可以考虑在 set image 或者 cache check 的地方稍微batch一下。

可能是我自己的使用场景比较局限,我们自己的项目从来没有在这里遇到性能问题。

from kingfisher.

meiyongsheng avatar meiyongsheng commented on July 22, 2024

目前主要是我们整个应用的文件IO相对操作较多, 并且涉及到的图片处理也比较非常多,当整个应用的文件IO消耗较高时,如果增涉及到有较多通过KF去处理图片的行为,此时就容易触发到性能问题,这里是否在同一个 main runloop 暂时无法界定,目前观察到的case就是IO操作较多是容易发生性能问题,目前我们项目中针对通过KF单例直接调用图片处理的地方是在异步子线程中执行,但是有部分涉及到 通过view.kf.setImage执行的函数无法切换到异步。

按照苹果方案文档fileManager.fileExists确实是一次IO行为。 我尝试修改过KF的源码,但是由于KF中是每个接口都返回DownloadTask,并且内部通过判断cacheType来进行同步执行导致目前难以修改
image

喵神看看这里有什么好的处理方案, 一劳永逸的避免这个case导致的性能问题

from kingfisher.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.