Região de memória compartilhada no NDK

Eu quero ter um bloco de memória compartilhada (umashmem região) mapeada e acessada a partir do código nativo. Eu também quero que este bloco seja usado por vários aplicativos. Eu também quero que ele funcione no nível SDK 7 (Android 2.1)

Existem duas rotas. Eu posso criar uma região ashmem no código nativo; mas então a questão é - como eu passo um descritor de arquivo inteiro para outro processo? Você pode marechalFileDescriptor objetos através de umParcel, mas não há como construir um em torno de um FD bruto. Há tambémParcelFileDescriptor que suporta a construção e recuperação de FDs inteiros, mas os métodos relevantes são suportados apenas no nível 12 do SDK ou até mais.

Como alternativa, posso criar umMemoryFile. Há ummaneira fugly para passá-lo em parcelas. Mas como eu recupero um descritor de arquivo dele para que o código nativo tenha algo parammap()?

questionAnswers(3)

yourAnswerToTheQuestion