2011-11-02 5 views
0

Dans android, j'ai besoin d'un service fonctionnant en arrière-plan pour server plusieurs applications client. En utilisant AIDL, j'ai exposé quelques interfaces simples aux clients avec succès. Mais les valeurs de retour et les paramètres sont tous des types primitifs. J'ai également essayé d'utiliser parcelable pour passer l'objet aux clients, cependant, j'ai trouvé qu'ils sont passés par VALUE.Comment utiliser AIDL pour passer par référence?

Existe-t-il un moyen d'utiliser AIDL ou autre pour transmettre un objet à l'autre application? Aidez-moi, s'il vous plaît.

Merci, Joe

Répondre

0

Je pense que la seule façon de passer par référence est d'utiliser les capacités Ashmem. Vous devez créer une région de mémoire partagée, créer un classeur qui pointe sur cette région, puis passer le classeur entre les applications. Dans ce cas, le liant est une sorte de référence.