TaskJniUtils

パブリック クラスTaskJniUtils

タスク API 用の JNI ユーティリティ。

ネストされたクラス

インターフェースTaskJniUtils.EmptyHandleProvider空のパラメータリストからnativeHandleを取得するためのシュガー構文。
インターフェースTaskJniUtils.FdAndOptionsHandleProvider <T>ファイル記述子とオプションからnativeHandleを取得するための構文シュガー。
インターフェースTaskJniUtils.MultipleBuffersHandleProvider ByteBufferの配列からネイティブハンドルを取得するための構文シュガー。

定数

長さINVALID_POINTER

パブリックメソッド

静的 <T> ロング
createHandleFromFdAndOptions (コンテキスト コンテキスト、 FdAndOptionsHandleProvider <T> プロバイダー、文字列libName、文字列filePath、T オプション)
JNI を初期化し、ファイル記述子とタスク API のオプションを含む C++ ハンドルを返します。
静的ロング
createHandleFromLibrary ( TaskJniUtils.EmptyHandleProviderプロバイダー、 String libName)
JNI を初期化し、最初に C++ ライブラリをロードして C++ ハンドルを返し、次にTaskJniUtils.EmptyHandleProvider.createHandle()を呼び出します。
静的ロング
createHandleWithMultipleAssetFilesFromLibrary (コンテキスト コンテキスト、 TaskJniUtils.MultipleBuffersHandleProviderプロバイダー、 String libName、 String... filePaths)
JNI を初期化し、最初に C++ ライブラリをロードして C++ ハンドルを返し、次にTaskJniUtils.MultipleBuffersHandleProvider.createHandle(ByteBuffer)を呼び出します。
静的ロング
静的ロング
静的MappedByteBuffer
loadMappedFile (コンテキストコンテキスト、文字列ファイルパス)
メモリ マッピングを通じてアセット フォルダーからファイルを読み込みます。
静的ボイド
tryLoadLibrary ( String libName)
ネイティブ ライブラリをロードしてみてください。すでにロードされている場合は、直接戻ります。

継承されたメソッド

定数

パブリック静的最終ロングINVALID_POINTER

定数値: 0

パブリックメソッド

public static long createHandleFromFdAndOptions (コンテキスト コンテキスト、 FdAndOptionsHandleProvider <T> プロバイダー、 String libName、 String filePath、T オプション)

JNI を初期化し、ファイル記述子とタスク API のオプションを含む C++ ハンドルを返します。

パラメーター
コンテクストAndroid アプリのコンテキスト
プロバイダー通常はネイティブ呼び出しから返される C++ ハンドルを取得するプロバイダー
ライブラリ名ロードする C++ ライブラリの名前
ファイルパスロードするファイルのパス
オプションプロバイダーが使用するタスク API を設定するためのオプション
戻り値
  • C++ ハンドルの長さ
投げる
IO例外モデルファイルのロードに失敗した場合。

public static long createHandleFromLibrary ( TaskJniUtils.EmptyHandleProviderプロバイダー、 String libName)

JNI を初期化し、最初に C++ ライブラリをロードして C++ ハンドルを返し、次にTaskJniUtils.EmptyHandleProvider.createHandle()を呼び出します。

パラメーター
プロバイダー通常はネイティブ呼び出しから返される C++ ハンドルを取得するプロバイダー
ライブラリ名
戻り値
  • C++ ハンドルの長さ

public static long createHandleWithMultipleAssetFilesFromLibrary (コンテキスト コンテキスト、 TaskJniUtils.MultipleBuffersHandleProviderプロバイダー、 String libName、 String... filePaths)

JNI を初期化し、最初に C++ ライブラリをロードして C++ ハンドルを返し、次にTaskJniUtils.MultipleBuffersHandleProvider.createHandle(ByteBuffer)を呼び出します。

パラメーター
コンテクストアプリのコンテキスト
プロバイダー通常はネイティブ呼び出しから返される C++ ポインターを取得するプロバイダー
ライブラリ名ロードする C++ ライブラリの名前
ファイルパスロードするファイルパス
戻り値
  • C++ ポインターの長さ
投げる
IO例外モデルファイルのロードに失敗した場合。

public static long createProtoBaseOptionsHandle ( BaseOptionsbaseOptions )

パラメーター
基本オプション

public static long createProtoBaseOptionsHandleWithLegacyNumThreads ( BaseOptionsbaseOptions , int LegacyNumThreads)

パラメーター
基本オプション
従来のスレッド数

public static MappedByteBufferloadMappedFile (コンテキスト context, String filePath)

メモリ マッピングを通じてアセット フォルダーからファイルを読み込みます。

パラメーター
コンテクストアセットにアクセスするためのアプリケーション コンテキスト。
ファイルパスファイルのアセットパス。
戻り値
  • ロードされたメモリ マップト ファイル。
投げる
IO例外モデルファイルのロードに失敗した場合。

public static void tryLoadLibrary ( String libName)

ネイティブ ライブラリをロードしてみてください。すでにロードされている場合は、直接戻ります。

パラメーター
ライブラリ名ライブラリの名前