ไฟล์ดาวน์โหลดแคช

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)

พยายามปลดล็อคไฟล์

วิธีการสาธารณะ

ลบแคชเอ็นทรี

public void deleteCacheEntry (String remoteFilePath)

อนุญาตให้ลบรายการออกจากแคช ในกรณีที่รายการไม่ถูกต้องหรือเสียหาย

พารามิเตอร์
remoteFilePath String

fetchRemoteFile

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

ดาวน์โหลดไฟล์หรือลิงก์แคชไปยังไฟล์ปลายทาง

พารามิเตอร์
downloader IFileDownloader : IFileDownloader

remoteFilePath String : ไฟล์ระยะไกล

destFile File : ไฟล์ปลายทางของการดาวน์โหลด

พ่น
com.android.tradefed.build.BuildRetrievalError
BuildRetrievalError

fetchRemoteFile

public File fetchRemoteFile (IFileDownloader downloader, 
                String remoteFilePath)

ส่งคืนไฟล์ในเครื่องที่สอดคล้องกับ remotePath ที่กำหนด

ERROR(/File) ในเครื่องจะถูกคัดลอกจากแคชหากมีอยู่ มิฉะนั้นจะถูกดาวน์โหลดผ่าน IFileDownloader ที่กำหนด

พารามิเตอร์
downloader IFileDownloader : IFileDownloader

remoteFilePath String : ไฟล์ระยะไกล

ส่งคืน
File ERROR(/File) ที่มีเนื้อหาของ remotePath

พ่น
BuildRetrievalError หากไม่สามารถเรียกค้นไฟล์ได้

setMaxCacheSize

public void setMaxCacheSize (long numBytes)

ตั้งค่าขนาดสูงสุดของแคชไฟล์ในเครื่อง

แคชจะไม่ถูกปรับทันทีหากตั้งค่าให้มีขนาดเล็กกว่าปัจจุบัน แต่จะมีผลในการดาวน์โหลดไฟล์ครั้งถัดไป

วิธีการป้องกัน

ล็อคไฟล์

protected void lockFile (String remoteFilePath)

รับล็อคสำหรับไฟล์

พารามิเตอร์
remoteFilePath String

ลองล็อคไฟล์

protected boolean tryLockFile (String remoteFilePath)

รับล็อคสำหรับไฟล์เฉพาะเมื่อไม่ได้ถูกยึดโดยเธรดอื่น

พารามิเตอร์
remoteFilePath String

ส่งคืน
boolean เป็นจริงหากได้รับล็อก และเป็นเท็จหากไม่เป็นเช่นนั้น

ปลดล็อคไฟล์

protected void unlockFile (String remoteFilePath)

พยายามปลดล็อคไฟล์

พารามิเตอร์
remoteFilePath String