ไฟล์ดาวน์โหลดแคช
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 ที่กำหนด |
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 |