文件下载缓存

public class FileDownloadCache
extends Object

java.lang.Object 中
   ↳ com.android.tradefed.build.FileDownloadCache


帮助程序类,用于维护已下载文件的本地文件系统 LRU 缓存。

摘要

公共方法

void deleteCacheEntry(String remoteFilePath)

允许从缓存中删除条目。

void fetchRemoteFile(IFileDownloader downloader, String remoteFilePath, File destFile)

下载文件或将缓存链接到目标文件。

File fetchRemoteFile(IFileDownloader downloader, String remoteFilePath)

返回与指定 remotePath 对应的本地文件

如果本地 ERROR(/File) 存在,则将从缓存中复制,否则将 通过指定的 IFileDownloader 下载。

void setMaxCacheSize(long numBytes)

设置本地文件缓存的大小上限。

受保护的方法

void lockFile(String remoteFilePath)

获取文件的锁。

boolean tryLockFile(String remoteFilePath)

仅当文件未被其他线程持有时,才获取该文件的锁。

void unlockFile(String remoteFilePath)

尝试解除对文件的锁定。

公共方法

deleteCacheEntry

public void deleteCacheEntry (String remoteFilePath)

允许从缓存中删除条目。条目无效或损坏时引发的异常。

参数
remoteFilePath String

远程提取文件

public void fetchRemoteFile (IFileDownloader downloader, 
                String remoteFilePath, 
                File destFile)

下载文件或将缓存链接到目标文件。

参数
downloader IFileDownloaderIFileDownloader

remoteFilePath String:远程文件。

destFile File:下载的目标文件。

抛出
BuildRetrievalError

远程提取文件

public File fetchRemoteFile (IFileDownloader downloader, 
                String remoteFilePath)

返回与指定 remotePath 对应的本地文件

如果本地 ERROR(/File) 存在,则将从缓存中复制,否则将 通过指定的 IFileDownloader 下载。

参数
downloader IFileDownloaderIFileDownloader

remoteFilePath String:远程文件。

返回
File 包含 remotePath 内容的本地 ERROR(/File)

抛出
BuildRetrievalError 如果无法检索文件,则会发生此错误

setMaxCacheSize

public void setMaxCacheSize (long numBytes)

设置本地文件缓存的大小上限。

如果将缓存设置为小于当前大小,则不会立即调整缓存,但会 在下一次下载文件时生效。

受保护的方法

LockFile

protected void lockFile (String remoteFilePath)

获取文件的锁。

参数
remoteFilePath String

tryLockFile

protected boolean tryLockFile (String remoteFilePath)

仅当文件未被其他线程持有时,才获取该文件的锁。

参数
remoteFilePath String

返回
boolean 如果获得了锁定,则返回 true,否则返回 false。

解锁文件

protected void unlockFile (String remoteFilePath)

尝试解除对文件的锁定。

参数
remoteFilePath String