CronetProvider

abstract class CronetProvider

已知的直接子類別
HttpEngineNativeProvider

Cronet 供應商實作,可從 Android 平台載入 HttpEngine 實作。

JavaCronetProvider

實作 CronetProvider,用於建立 CronetEngine.Builder,以建構 CronetEngine 的 Java 實作項目。


提供建立 CronetEngine.Builder 執行個體的工廠方法。 CronetEngine.Builder 例項可用於建立特定 CronetEngine 實作項目。如要取得可用 CronetProvider 清單,請呼叫 getAllProviderInfos

注意:這個類別適用於想要選取特定 Cronet 實作項目的進階使用者。大多數使用者應直接使用 newCronetEngine.Builder。

摘要

常數

const String!
PROVIDER_NAME_APP_PACKAGED = "App-Packaged-Cronet-Provider"

getNameCronetProvider 傳回的字串,提供封裝在應用程式中的原生 Cronet 實作。

const String!
PROVIDER_NAME_FALLBACK = "Fallback-Cronet-Provider"

getNameCronetProvider 傳回的字串,可根據系統的 java.net.HttpURLConnection 實作提供 Cronet 實作。

const String!
PROVIDER_NAME_HTTPENGINE_NATIVE = "HttpEngine-Native-Provider"

getNameCronetProvider 傳回的字串,根據平台中現有的 HttpEngine 實作項目提供 Cronet 實作項目。

受保護的建構函式

公開函式

abstract CronetEngine.Builder!

建立並傳回 CronetEngine.Builder 的例項。

java-static (Mutable)List<CronetProvider!>!

傳回所有可用 CronetProvider 的不可修改清單。

abstract String!

傳回供應商名稱。

abstract String!

傳回供應商版本。

abstract Boolean

傳回供應器是否已啟用,以及是否可用於例項化 Cronet 引擎。

String!

受保護的屬性

Context!

常數

PROVIDER_NAME_APP_PACKAGED

const val PROVIDER_NAME_APP_PACKAGED = "App-Packaged-Cronet-Provider": String!

getNameCronetProvider 傳回的字串,提供封裝在應用程式中的原生 Cronet 實作。相較於備援 Cronet 實作 (請參閱 PROVIDER_NAME_FALLBACK),這項實作可大幅提升效能。

PROVIDER_NAME_FALLBACK

const val PROVIDER_NAME_FALLBACK = "Fallback-Cronet-Provider": String!

getNameCronetProvider 傳回的字串,可根據系統的 java.net.HttpURLConnection 實作提供 Cronet 實作。相較於原生 Cronet 實作,這種實作方式的效能會大幅降低 (請參閱 PROVIDER_NAME_APP_PACKAGED)。

PROVIDER_NAME_HTTPENGINE_NATIVE

const val PROVIDER_NAME_HTTPENGINE_NATIVE = "HttpEngine-Native-Provider": String!

getNameCronetProvider 傳回的字串,根據平台中現有的 HttpEngine 實作項目提供 Cronet 實作項目。這項實作方式不會提供被視為實作專屬的功能,也就是存取 netlog 和內部指標。此外,系統不保證支援實驗功能 (與任何其他 Cronet 提供者相同)。

受保護的建構函式

CronetProvider

protected CronetProvider(context: Context!)

公開函式

createBuilder

abstract fun createBuilder(): CronetEngine.Builder!

建立並傳回 CronetEngine.Builder 的例項。

注意:這個類別適用於想要選取特定 Cronet 實作項目的進階使用者。大多數使用者應直接使用 newCronetEngine.Builder。
傳回
CronetEngine.Builder!

CronetEngine.Builder

擲回
java.lang.IllegalStateException

如果供應器未啟用 (請參閱 isEnabled

getAllProviders

java-static fun getAllProviders(context: Context!): (Mutable)List<CronetProvider!>!

傳回所有可用 CronetProvider 的不可修改清單。系統傳回供應商時,不會依特定順序排列。部分傳回的供應商可能處於停用狀態,應由呼叫端啟用。查看《isEnabled》。

傳回
(Mutable)List<CronetProvider!>!

可用的供應商清單。

getName

abstract fun getName(): String!

傳回供應商名稱。知名供應商名稱包括:

傳回
String!

供應商名稱。

getVersion

abstract fun getVersion(): String!

傳回供應商版本。如果有多個供應商可用,您可以使用版本選取最新供應商。

傳回
String!

provider 版本。

isEnabled

abstract fun isEnabled(): Boolean

傳回供應器是否已啟用,以及是否可用於例項化 Cronet 引擎。如果供應商過時 (舊於 API),就可能需要更新,這也是供應商遭到停用的原因之一。如需啟用程序,請參閱供應商說明文件。

傳回
Boolean

如果供應器已啟用,則為 true

toString

fun toString(): String!

受保護的屬性

mContext

protected val mContextContext!