鴻蒙OS ResponseCache

2022-06-11 17:19 更新

ResponseCache

java.lang.Object

|---java.net.ResponseCache

public abstract class ResponseCache
extends Object

表示 URLConnection 緩存的實(shí)現(xiàn)。 可以通過執(zhí)行 ResponseCache.setDefault(ResponseCache) 向系統(tǒng)注冊(cè)此類的實(shí)例,系統(tǒng)將調(diào)用此對(duì)象以:

  • 將已從外部源檢索到的資源數(shù)據(jù)存儲(chǔ)到緩存中
  • 嘗試獲取可能已存儲(chǔ)在緩存中的請(qǐng)求資源

ResponseCache 實(shí)現(xiàn)決定哪些資源應(yīng)該被緩存,以及它們應(yīng)該被緩存多長時(shí)間。 如果無法從緩存中檢索請(qǐng)求資源,則協(xié)議處理程序?qū)钠湓嘉恢毛@取資源。 URLConnection#useCaches 的設(shè)置控制是否允許協(xié)議使用緩存的響應(yīng)。

構(gòu)造函數(shù)摘要

構(gòu)造函數(shù) 描述
ResponseCache()

方法總結(jié)

修飾符和類型 方法 描述
abstract CacheResponse get(URI uri, String rqstMethod, Map<String,List<String>> rqstHeaders) 根據(jù)請(qǐng)求 uri、請(qǐng)求方法和請(qǐng)求標(biāo)頭檢索緩存的響應(yīng)。
static ResponseCache getDefault() 獲取系統(tǒng)范圍的響應(yīng)緩存。
abstract CacheRequest put(URI uri, URLConnection conn) 協(xié)議處理程序在獲取資源后調(diào)用此方法,并且 ResponseCache 必須決定是否將資源存儲(chǔ)在其緩存中。
static void setDefault(ResponseCache responseCache) 設(shè)置(或取消設(shè)置)系統(tǒng)范圍的緩存。
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

構(gòu)造函數(shù)詳細(xì)信息

ResponseCache

public ResponseCache()

方法詳情

getDefault

public static ResponseCache getDefault()

獲取系統(tǒng)范圍的響應(yīng)緩存。

返回:

系統(tǒng)范圍的 ResponseCache

Throws:

Throw名稱 Throw描述
SecurityException 如果已安裝安全管理器并且它拒絕 NetPermission("getResponseCache")

setDefault

public static void setDefault(ResponseCache responseCache)

設(shè)置(或取消設(shè)置)系統(tǒng)范圍的緩存。 注意:非標(biāo)準(zhǔn)協(xié)議處理程序可能會(huì)忽略此設(shè)置。

參數(shù):

參數(shù)名稱 參數(shù)描述
responseCache 響應(yīng)緩存,或 null 取消設(shè)置緩存。

Throws:

Throw名稱 Throw描述
SecurityException 如果已安裝安全管理器并且它拒絕 NetPermission("setResponseCache")

get

public abstract CacheResponse get(URI uri, String rqstMethod, Map<String,List<String>> rqstHeaders) throws IOException

根據(jù)請(qǐng)求 uri、請(qǐng)求方法和請(qǐng)求標(biāo)頭檢索緩存的響應(yīng)。 通常,此方法由協(xié)議處理程序在發(fā)出請(qǐng)求以獲取網(wǎng)絡(luò)資源之前調(diào)用。 如果返回緩存的響應(yīng),則使用該資源。

參數(shù):

參數(shù)名稱 參數(shù)描述
uri 用于引用請(qǐng)求的網(wǎng)絡(luò)資源的 URI
rqstMethod 表示請(qǐng)求方法的字符串
rqstHeaders - 從請(qǐng)求標(biāo)頭字段名稱到表示當(dāng)前請(qǐng)求標(biāo)頭的字段值列表的映射

返回:

如果緩存中可用,則為 CacheResponse 實(shí)例,否則為 null

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯(cuò)誤
IllegalArgumentException 如果任何一個(gè)參數(shù)為空

put

public abstract CacheRequest put(URI uri, URLConnection conn) throws IOException

協(xié)議處理程序在獲取資源后調(diào)用此方法,并且 ResponseCache 必須決定是否將資源存儲(chǔ)在其緩存中。 如果要緩存資源,則 put() 必須返回一個(gè) CacheRequest 對(duì)象,該對(duì)象包含協(xié)議處理程序?qū)⒂糜趯①Y源寫入緩存的 OutputStream。 如果不緩存資源,則 put 必須返回 null。

參數(shù):

參數(shù)名稱 參數(shù)描述
uri 用于引用請(qǐng)求的網(wǎng)絡(luò)資源的 URI
conn - 用于獲取要緩存的響應(yīng)的 URLConnection 實(shí)例

返回:

用于記錄要緩存的響應(yīng)的 CacheRequest。 空返回表示調(diào)用者不打算緩存響應(yīng)。

Throws:

Throw名稱 Throw描述
IOException 如果發(fā)生 I/O 錯(cuò)誤
IllegalArgumentException 如果任何一個(gè)參數(shù)為空
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)