public final class DiskLruCache extends Object implements Closeable, Flushable
0和Integer之间。MAX_VALUE字节的长度| Modifier and Type | Class and Description |
|---|---|
class |
DiskLruCache.Editor |
class |
DiskLruCache.Snapshot
快照信息
|
| Modifier and Type | Method and Description |
|---|---|
void |
close() |
static DiskLruCache |
create(FileSystem fileSystem,
File directory,
int appVersion,
int valueCount,
long maxSize)
创建一个驻留在
directory中的缓存。此缓存在第一次访问时惰性初始化,如果它不存在,将创建它. |
void |
delete()
关闭缓存并删除其所有存储值。这将删除缓存目录中的所有文件,包括没有由缓存创建的文件
|
DiskLruCache.Editor |
edit(String key)
返回名为
key的条目的编辑器,如果另一个编辑正在进行,则返回null |
void |
evictAll()
从缓存中删除所有存储值,飞行中的编辑将正常完成,但不会存储它们的值
|
void |
flush() |
DiskLruCache.Snapshot |
get(String key)
返回名为
key的条目的快照,如果条目不存在,则返回null,
否则当前无法读取。如果返回一个值,它将被移动到LRU队列的头部 |
File |
getDirectory() |
long |
getMaxSize() |
void |
initialize() |
boolean |
isClosed() |
boolean |
remove(String key)
如果
key存在并且可以删除,则删除它。如果当前正在编辑
key的条目,那么编辑将正常完成,但是它的值不会被存储 |
void |
setMaxSize(long maxSize)
更改缓存可以存储的最大字节数,并在必要时对作业进行排队,以修剪现有存储
|
long |
size() |
Iterator<DiskLruCache.Snapshot> |
snapshots()
返回缓存当前项的迭代器。这个迭代器不会抛出
ConcurrentModificationException,
调用者必须DiskLruCache.Snapshot.close()每个由Iterator.next()返回的快照
如果做不到这一点,就会泄漏打开的文件,返回的迭代器支持 Iterator.remove(). |
public static DiskLruCache create(FileSystem fileSystem, File directory, int appVersion, int valueCount, long maxSize)
directory中的缓存。此缓存在第一次访问时惰性初始化,如果它不存在,将创建它.fileSystem - 读写文件directory - 一个可写目录appVersion - 版本信息valueCount - 每个缓存条目的值数目.maxSize - 此缓存应用于存储的最大字节数public void initialize()
throws IOException
IOExceptionpublic DiskLruCache.Snapshot get(String key) throws IOException
key的条目的快照,如果条目不存在,则返回null,
否则当前无法读取。如果返回一个值,它将被移动到LRU队列的头部key - 缓存keyIOException - 异常public DiskLruCache.Editor edit(String key) throws IOException
key的条目的编辑器,如果另一个编辑正在进行,则返回nullkey - 文件keyIOException - 异常public File getDirectory()
public long getMaxSize()
public void setMaxSize(long maxSize)
maxSize - 最大值public long size()
throws IOException
IOExceptionpublic boolean remove(String key) throws IOException
key存在并且可以删除,则删除它。如果当前正在编辑
key的条目,那么编辑将正常完成,但是它的值不会被存储key - 缓存keyIOException - 异常public boolean isClosed()
public void flush()
throws IOException
flush in interface FlushableIOExceptionpublic void close()
throws IOException
close in interface Closeableclose in interface AutoCloseableIOExceptionpublic void delete()
throws IOException
IOException - 异常public void evictAll()
throws IOException
IOException - 异常public Iterator<DiskLruCache.Snapshot> snapshots() throws IOException
ConcurrentModificationException,
调用者必须DiskLruCache.Snapshot.close()每个由Iterator.next()返回的快照
如果做不到这一点,就会泄漏打开的文件,返回的迭代器支持 Iterator.remove().IOException - 异常Copyright © 2020. All rights reserved.