TaskJniUtils

genel sınıf TaskJniUtils

Görev API'si için JNI araçları.

İç İçe Sınıflar

arayüz TaskJniUtils.EmptyHandleProvider Boş parametre listesinden nativeHandle'ı almak için sözdizimi şekeri.
arayüz TaskJniUtils.FdAndOptionsHandleProvider <T> Dosya tanımlayıcı ve seçeneklerden nativeHandle'ı almak için sözdizimi şekeri.
arayüz TaskJniUtils.MultipleBuffersHandleProvider Bir ByteBuffer dizisinden nativeHandle'ı almak için sözdizimi şekeri.

Sabitler

uzun INVALID_POINTER

Genel Yöntemler

statik <T> uzun
createHandleFromFdAndOptions (Bağlam bağlamı, FdAndOptionsHandleProvider <T> sağlayıcısı, String libName, String filePath, T seçenekleri)
JNI'yi başlatır ve dosya tanımlayıcı ve görev API'si seçenekleriyle birlikte C++ tanıtıcısını döndürür.
statik uzun
createHandleFromLibrary ( TaskJniUtils.EmptyHandleProvider sağlayıcısı, String libName)
Önce C++ kitaplığını yükleyerek JNI'yi başlatır ve C++ tanıtıcısını döndürür ve ardından TaskJniUtils.EmptyHandleProvider.createHandle() öğesini çağırır.
statik uzun
createHandleWithMultipleAssetFilesFromLibrary (Bağlam bağlamı, TaskJniUtils.MultipleBuffersHandleProvider sağlayıcı, String libName, String... filePaths)
JNI'yi başlatır ve önce C++ kitaplığını yükleyerek C++ tanıtıcısını döndürür ve ardından TaskJniUtils.MultipleBuffersHandleProvider.createHandle(ByteBuffer) öğesini çağırır.
statik uzun
statik uzun
statik MappedByteBuffer
loadMappedFile (Bağlam bağlamı, String filePath)
Bellek eşleme yoluyla varlık klasöründen bir dosya yükler.
Statik boşluk
tryLoadLibrary ( String libName)
Yerel bir kitaplık yüklemeyi deneyin; zaten yüklenmişse doğrudan geri dönün.

Kalıtsal Yöntemler

Sabitler

genel statik son uzun INVALID_POINTER

Sabit Değer: 0

Genel Yöntemler

public static long createHandleFromFdAndOptions (Bağlam bağlamı, FdAndOptionsHandleProvider <T> sağlayıcısı, String libName, String filePath, T seçenekleri)

JNI'yi başlatır ve dosya tanımlayıcı ve görev API'si seçenekleriyle birlikte C++ tanıtıcısını döndürür.

Parametreler
bağlam Android uygulaması bağlamı
Sağlayıcı sağlayıcının C++ tanıtıcısını almasını sağlar, genellikle yerel çağrıdan döndürülür
libAdı yüklenecek C++ kütüphanesinin adı
dosya yolu yüklenecek dosyanın yolu
seçenekler sağlayıcı tarafından kullanılan görev API'sini ayarlama seçenekleri
İadeler
  • C++ işlemi mümkün olduğu kadar uzun
Atar
IOİstisnası Model dosyası yüklenemezse.

genel statik uzun createHandleFromLibrary ( TaskJniUtils.EmptyHandleProvider sağlayıcı, String libName)

Önce C++ kitaplığını yükleyerek JNI'yi başlatır ve C++ tanıtıcısını döndürür ve ardından TaskJniUtils.EmptyHandleProvider.createHandle() öğesini çağırır.

Parametreler
Sağlayıcı sağlayıcının C++ tanıtıcısını almasını sağlar, genellikle yerel çağrıdan döndürülür
libAdı
İadeler
  • C++ işlemi mümkün olduğu kadar uzun

genel statik uzun createHandleWithMultipleAssetFilesFromLibrary (Bağlam bağlamı, TaskJniUtils.MultipleBuffersHandleProvider sağlayıcı, String libName, String... filePaths)

JNI'yi başlatır ve önce C++ kitaplığını yükleyerek C++ tanıtıcısını döndürür ve ardından TaskJniUtils.MultipleBuffersHandleProvider.createHandle(ByteBuffer) öğesini çağırır.

Parametreler
bağlam uygulama bağlamı
Sağlayıcı sağlayıcının C++ işaretçisini almasını sağlar, genellikle yerel çağrıdan döndürülür
libAdı yüklenecek C++ kütüphanesinin adı
dosya Yolları yüklenecek dosya yolları
İadeler
  • C++ işaretçisi bu kadar uzun
Atar
IOİstisnası Model dosyası yüklenemezse.

genel statik uzun createProtoBaseOptionsHandle ( BaseOptions baseOptions)

Parametreler
temelSeçenekler

public static long createProtoBaseOptionsHandleWithLegacyNumThreads ( BaseOptions baseOptions, int LegacyNumThreads)

Parametreler
temelSeçenekler
eskiNumThreads

public static MappedByteBuffer loadMappedFile (Bağlam bağlamı, String filePath)

Bellek eşleme yoluyla varlık klasöründen bir dosya yükler.

Parametreler
bağlam Varlıklara erişmek için uygulama bağlamı.
dosya yolu Dosyanın varlık yolu.
İadeler
  • yüklenen bellek eşlemeli dosya.
Atar
IOİstisnası Model dosyası yüklenemezse.

public static void tryLoadLibrary ( String libName)

Yerel bir kitaplık yüklemeyi deneyin; zaten yüklenmişse doğrudan geri dönün.

Parametreler
libAdı kütüphanenin adı