TaskJniUtils

공개 클래스 TaskJniUtils

작업 API용 JNI 유틸리티입니다.

중첩 클래스

상호 작용 TaskJniUtils.EmptyHandleProvider 빈 매개변수 목록에서 NativeHandle을 가져오는 구문 설탕입니다.
상호 작용 TaskJniUtils.FdAndOptionsHandleProvider <T> 파일 설명자 및 옵션에서 기본 핸들을 가져오는 구문 설탕입니다.
상호 작용 TaskJniUtils.MultipleBuffersHandleProvider ByteBuffer 배열에서 NativeHandle을 가져오는 구문 설탕입니다.

상수

INVALID_POINTER

공개 방법

정적 <T> 긴
createHandleFromFdAndOptions (컨텍스트 컨텍스트, FdAndOptionsHandleProvider <T> 공급자, 문자열 libName, 문자열 filePath, T 옵션)
JNI를 초기화하고 작업 API에 대한 파일 설명자와 옵션이 포함된 C++ 핸들을 반환합니다.
정적 긴
createHandleFromLibrary ( TaskJniUtils.EmptyHandleProvider 공급자, 문자열 libName)
먼저 C++ 라이브러리를 로드한 후 TaskJniUtils.EmptyHandleProvider.createHandle() 호출하여 JNI를 초기화하고 C++ 핸들을 반환합니다.
정적 긴
createHandleWithMultipleAssetFilesFromLibrary (컨텍스트 컨텍스트, TaskJniUtils.MultipleBuffersHandleProvider 공급자, 문자열 libName, 문자열... filePaths)
먼저 C++ 라이브러리를 로드하여 JNI를 초기화하고 C++ 핸들을 반환한 다음 TaskJniUtils.MultipleBuffersHandleProvider.createHandle(ByteBuffer) 호출합니다.
정적 긴
정적 긴
정적 MappedByteBuffer
loadMappedFile (컨텍스트 컨텍스트, 문자열 filePath)
메모리 매핑을 통해 자산 폴더에서 파일을 로드합니다.
정적 공백
tryLoadLibrary ( 문자열 libName)
이미 로드된 경우 직접 반환하여 네이티브 라이브러리를 로드해 보세요.

상속된 메서드

상수

공개 정적 최종 긴 INVALID_POINTER

상수값: 0

공개 방법

public static long createHandleFromFdAndOptions (컨텍스트 컨텍스트, FdAndOptionsHandleProvider <T> 공급자, 문자열 libName, 문자열 filePath, T 옵션)

JNI를 초기화하고 작업 API에 대한 파일 설명자와 옵션이 포함된 C++ 핸들을 반환합니다.

매개변수
문맥 Android 앱 컨텍스트
공급자 일반적으로 기본 호출에서 반환되는 C++ 핸들을 가져오는 공급자
lib이름 로드할 C++ lib의 이름
파일 경로 로드할 파일의 경로
옵션 공급자가 사용하는 작업 API를 설정하는 옵션
보고
  • C++ 핸들이 길어짐
던지기
IO예외 모델 파일을 로드하지 못하는 경우.

공개 정적 긴 createHandleFromLibrary ( TaskJniUtils.EmptyHandleProvider 공급자, 문자열 libName)

먼저 C++ 라이브러리를 로드한 후 TaskJniUtils.EmptyHandleProvider.createHandle() 호출하여 JNI를 초기화하고 C++ 핸들을 반환합니다.

매개변수
공급자 일반적으로 기본 호출에서 반환되는 C++ 핸들을 가져오는 공급자
lib이름
보고
  • C++ 핸들이 길어짐

public static long createHandleWithMultipleAssetFilesFromLibrary (컨텍스트 컨텍스트, TaskJniUtils.MultipleBuffersHandleProvider 공급자, 문자열 libName, 문자열... filePaths)

먼저 C++ 라이브러리를 로드하여 JNI를 초기화하고 C++ 핸들을 반환한 다음 TaskJniUtils.MultipleBuffersHandleProvider.createHandle(ByteBuffer) 호출합니다.

매개변수
문맥 앱 컨텍스트
공급자 일반적으로 기본 호출에서 반환되는 C++ 포인터를 가져오는 공급자
lib이름 로드할 C++ lib의 이름
파일 경로 로드할 파일 경로
보고
  • C++ 포인터 길이
던지기
IO예외 모델 파일을 로드하지 못하는 경우.

공개 정적 긴 createProtoBaseOptionsHandle ( BaseOptions baseOptions)

매개변수
기본옵션

공개 정적 긴 createProtoBaseOptionsHandleWithLegacyNumThreads ( BaseOptions baseOptions, int LegacyNumThreads)

매개변수
기본옵션
레거시 스레드 수

공개 정적 MappedByteBuffer loadMappedFile (컨텍스트 컨텍스트, 문자열 파일 경로)

메모리 매핑을 통해 자산 폴더에서 파일을 로드합니다.

매개변수
문맥 자산에 액세스하기 위한 애플리케이션 컨텍스트입니다.
파일 경로 파일의 자산 경로입니다.
보고
  • 로드된 메모리 매핑 파일.
던지기
IO예외 모델 파일을 로드하지 못하는 경우.

공개 정적 무효 tryLoadLibrary ( 문자열 libName)

이미 로드된 경우 직접 반환하여 네이티브 라이브러리를 로드해 보세요.

매개변수
lib이름 lib의 이름