gpt4 book ai didi

android DiskLruCache 实现

转载 作者:行者123 更新时间:2023-11-29 17:51:07 27 4
gpt4 key购买 nike

我在这个实现中使用 JakeWharton 的 DiskLruCache:Using DiskLruCache in android 4.0 does not provide for openCache method

我有两个问题:我仍然需要在单独的线程中执行这些操作,还是 JakeWharton 在他的类里面处理这些操作?我简要地阅读了他的类(class),他唯一一次在单独的线程上执行操作是为了驱逐。因此,例如,我应该在单独的线程中调用 SimpleDiskLruCache(...) 吗?

此外,磁盘缓存的合适大小是多少?我知道这是一个开放式的主观问题,但我很想知道其他人使用什么来缓存位图。我假设这个数字应该以字节为单位指定?

最佳答案

  1. API 的签名提示您应该从缓存中读/写,就好像它是磁盘的接口(interface)一样。因此,为了更直接地回答您的问题 - 是的,您应该在与主循环器分开的线程中调用 get() 和 put()。

  2. 始终对用户抱有同情心,切勿超出您的需要。合适的大小取决于您的应用程序的性质。您是在缓存大量小位图还是少量大图像?图像多久改变一次?您是否计划在使用磁盘缓存的同时使用内存缓存?思考这些问题将帮助您得出合适的规范,从而插入您做出决定。或者,您可以从一个小数字(可能是 4mb)开始,并使用一些日志记录和/或指标来衡量缓存未命中的数量并从那里进行调整。

  3. 最后,您应该指定字节数。例如

    DISK_CACHE_SIZE = 1024 * 1024 * 16;//16mb 字节

关于android DiskLruCache 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22733741/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com