TaskJniUtils

публичный класс TaskJniUtils

Утилиты JNI для Task API.

Вложенные классы

интерфейс TaskJniUtils.EmptyHandleProvider Синтаксический сахар для получения NativeHandle из пустого списка параметров.
интерфейс TaskJniUtils.FdAndOptionsHandleProvider <T> Синтаксический сахар для получения NativeHandle из файлового дескриптора и параметров.
интерфейс TaskJniUtils.MultipleBuffersHandleProvider Синтаксический сахар для получения ownHandle из массива ByteBuffer .

Константы

длинный INVALID_POINTER

Публичные методы

статический <T> длинный
createHandleFromFdAndOptions (контекст контекста, поставщик FdAndOptionsHandleProvider <T>, строка libName, строка filePath, параметры T)
Инициализирует JNI и возвращает дескриптор C++ с дескриптором файла и параметрами API задачи.
статический длинный
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>, строка libName, строка filePath, параметры T)

Инициализирует JNI и возвращает дескриптор C++ с дескриптором файла и параметрами API задачи.

Параметры
контекст контекст приложения Android
поставщик поставщик для получения дескриптора C++, обычно возвращаемого из собственного вызова
имя_библиотеки имя библиотеки C++ для загрузки
Путь к файлу путь к файлу для загрузки
параметры варианты настройки API задачи, используемого провайдером
Возврат
  • С++ обрабатывает так долго
Броски
Исключение IO Если файл модели не загружается.

public static long createHandleFromLibrary (поставщик TaskJniUtils.EmptyHandleProvider , String libName)

Инициализирует JNI и возвращает дескриптор C++, сначала загружая библиотеку C++, а затем вызывая TaskJniUtils.EmptyHandleProvider.createHandle() .

Параметры
поставщик поставщик для получения дескриптора 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 ( BaseOptions baseOptions)

Параметры
базовые параметры

public static long createProtoBaseOptionsHandleWithLegacyNumThreads ( BaseOptions baseOptions, int LegacyNumThreads)

Параметры
базовые параметры
наследиеNumThreads

общедоступный статический MappedByteBuffer loadMappedFile (контекст контекста, строковый filePath)

Загружает файл из папки ресурсов посредством сопоставления памяти.

Параметры
контекст Контекст приложения для доступа к ресурсам.
Путь к файлу Путь к файлу.
Возврат
  • загруженный файл отображения памяти.
Броски
Исключение IO Если файл модели не загружается.

public static void tryLoadLibrary ( String libName)

Попробуйте загрузить собственную библиотеку, если она уже загружена, вернитесь напрямую.

Параметры
имя_библиотеки название библиотеки