Terima kasih telah mendengarkan Google I/O. Lihat semua sesi sesuai permintaan Tonton sesuai permintaan

TaskJniUtils

TaskJniUtils public class

Utilitas JNI untuk Task API.

Kelas Bersarang

antarmuka TaskJniUtils.EmptyHandleProvider Gula sintaks untuk mendapatkan nativeHandle dari daftar param kosong.
antarmuka TaskJniUtils.FdAndOptionsHandleProvider <T> Gula sintaks untuk mendapatkan nativeHandle dari deskriptor dan opsi file.
antarmuka TaskJniUtils.MultipleBuffersHandleProvider Sintaks gula untuk mendapatkan nativeHandle dari array ByteBuffer s.

Konstanta

panjang INVALID_POINTER

Metode Publik

statis <T> panjang
createHandleFromFdAndOptions (konteks Konteks, FdAndOptionsHandleProvider <T> penyedia, String libname, String filepath, pilihan T)
Menginisialisasi JNI dan mengembalikan pegangan C++ dengan deskriptor file dan opsi untuk API tugas.
panjang statis
createHandleFromLibrary ( TaskJniUtils.EmptyHandleProvider penyedia, String libname)
Menginisialisasi JNI dan kembali C ++ pegangan oleh pemuatan pertama C ++ library dan kemudian memanggil TaskJniUtils.EmptyHandleProvider.createHandle() .
panjang statis
createHandleWithMultipleAssetFilesFromLibrary (konteks Konteks, TaskJniUtils.MultipleBuffersHandleProvider penyedia, String libname, String ... filepaths)
Menginisialisasi JNI dan kembali C ++ pegangan oleh pemuatan pertama C ++ library dan kemudian memanggil TaskJniUtils.MultipleBuffersHandleProvider.createHandle(ByteBuffer) .
panjang statis
panjang statis
statis MappedByteBuffer
loadMappedFile (konteks Konteks, String path file)
Memuat file dari folder aset melalui pemetaan memori.
kekosongan statis
tryLoadLibrary ( String libname)
Coba muat pustaka asli, jika sudah dimuat kembalikan secara langsung.

Metode yang Diwarisi

Konstanta

public static akhir INVALID_POINTER panjang

Nilai Konstan: 0

Metode Publik

public static createHandleFromFdAndOptions panjang (konteks Konteks, FdAndOptionsHandleProvider <T> penyedia, String libname, String filepath, pilihan T)

Menginisialisasi JNI dan mengembalikan pegangan C++ dengan deskriptor file dan opsi untuk API tugas.

Parameter
konteks konteks aplikasi Android
pemberi penyedia untuk mendapatkan pegangan C++, biasanya dikembalikan dari panggilan asli
libName nama C++ lib yang akan dimuat
jalur file jalur file yang akan dimuat
pilihan opsi untuk menyiapkan API tugas, yang digunakan oleh penyedia
Kembali
  • C++ menangani selama
Melempar
Pengecualian IO Jika file model gagal dimuat.

public static createHandleFromLibrary panjang ( TaskJniUtils.EmptyHandleProvider penyedia, String libname)

Menginisialisasi JNI dan kembali C ++ pegangan oleh pemuatan pertama C ++ library dan kemudian memanggil TaskJniUtils.EmptyHandleProvider.createHandle() .

Parameter
pemberi penyedia untuk mendapatkan pegangan C++, biasanya dikembalikan dari panggilan asli
libName
Kembali
  • C++ menangani selama

public static createHandleWithMultipleAssetFilesFromLibrary panjang (konteks Konteks, TaskJniUtils.MultipleBuffersHandleProvider penyedia, String libname, String ... filepaths)

Menginisialisasi JNI dan kembali C ++ pegangan oleh pemuatan pertama C ++ library dan kemudian memanggil TaskJniUtils.MultipleBuffersHandleProvider.createHandle(ByteBuffer) .

Parameter
konteks konteks aplikasi
pemberi penyedia untuk mendapatkan pointer C++, biasanya dikembalikan dari panggilan asli
libName nama C++ lib untuk memuat
filePaths jalur file untuk dimuat
Kembali
  • C++ pointer selama
Melempar
Pengecualian IO Jika file model gagal dimuat.

public static createProtoBaseOptionsHandle panjang ( BaseOptions baseOptions)

Parameter
opsi dasar

public static createProtoBaseOptionsHandleWithLegacyNumThreads panjang ( BaseOptions baseOptions, int legacyNumThreads)

Parameter
opsi dasar
warisanNumThreads

public static MappedByteBuffer loadMappedFile (konteks Konteks, String path file)

Memuat file dari folder aset melalui pemetaan memori.

Parameter
konteks Konteks aplikasi untuk mengakses aset.
jalur file Jalur aset file.
Kembali
  • file yang dipetakan memori yang dimuat.
Melempar
Pengecualian IO Jika file model gagal dimuat.

static public void tryLoadLibrary ( String libname)

Coba muat pustaka asli, jika sudah dimuat kembalikan secara langsung.

Parameter
libName nama lib