Obszar pamięci współdzielonej w NDK

Chcę mieć blok pamięci współdzielonej (anashmem region), który jest odwzorowany i uzyskany dostęp z kodu natywnego. Chcę również, aby ten blok był używany przez kilka aplikacji. Chcę także, aby działał na poziomie 7 SDK (Android 2.1)

Istnieją dwie trasy. Mogę utworzyć region ashmem w kodzie rodzimym; ale pytanie brzmi - w jaki sposób przekazać deskryptor plików całkowitych do innego procesu? Możesz dowodzićFileDescriptor obiekty przez aParcel, ale nie ma sposobu na zbudowanie jednego wokół surowego FD. Jest takżeParcelFileDescriptor który obsługuje konstruowanie wokół i pobieranie liczb całkowitych FD, ale odpowiednie metody są obsługiwane tylko na poziomie SDK 12 lub nawet wyższym.

Alternatywnie, mogę utworzyćMemoryFile. Jestfugly sposób przekazać to w paczkach. Ale jak pobrać z niego deskryptor pliku, aby kod natywny miał coś do zrobieniammap()?

questionAnswers(3)

yourAnswerToTheQuestion