12
votes

Quand utiliser un service basé sur le SIDL?

Dans quelles circonstances utiliserait aidl pour définir une interface de service être la bonne décision (plutôt que de créer une extension à la classe de classe)?


1 commentaires

Une meilleure discussion sur l'utilisation de l'AIDL peut être trouvée ici. Stackoverflow.com/Questtions/8591281/Example-of-Aidl-Utilisation


4 Réponses :




0
votes

1.Quand utiliser un service basé sur le SIDL.

Quelques avantages peuvent être gagnés par segment une partie de votre code dans le service Backend:

  • Decouple frontal et arrière
  • Le traitement intensif de la mémoire / de la CPU peut être empilé vers le service Backend, GC en service n'affectera pas l'expérience utilisateur frontale
  • le crash de service ne fera pas tomber l'application entière

    2.Comment créer un tel service

    J'ai écrit une bonne bibliothèque, vous pouvez faire référence à un exemple http://github.com/zhchang/hogwarts


0 commentaires

0
votes

aidl

La langue de définition d'interface Android (AIDL) permet aux développeurs de définir une interface de programmation que le client et le serveur utilisent pour communiquer entre eux à l'aide de la communication inter-processus (IPC).

Cet article montre comment se connecter à un service en cours d'exécution dans Android et comment récupérer les données du service distant / exécutant.

exemple de mécanisme IPC

Soit RemoteService Soyez un service client et RemoteServiceClient être une activité pour communiquer avec le service à distance.

Un service fournit des informations sur les opérations mathématiques telles que l'ajout, la soustraction et la multiplication des deux entiers donnés. Pour exposer la fonctionnalité de quel service peut faire, créez un fichier .AID dans le répertoire de projet.

Exemple AidL


0 commentaires