2017-08-25 5 views
1

J'ai essayé toute la journée de trouver un moyen de supprimer un Twilio CallbackListener d'un canal Twilio lors de la demande de nombre de messages non consommés pour éviter la fuite de mémoire lorsque mon activité est détruite. L'appel de channel.removeAllListeners semble seulement supprimer ChannelListener du canal. J'ai posté un code ci-dessous de ce que je suis en train de faire et voici un lien vers le Twilio chat docs. Des idées?Impossible de supprimer CallbackListener du canal Twilio

CallbackListener<Long> callbackListener = new CallbackListener<Long>() { 
     @Override 
     public void onSuccess(Long unconsumedCount) { 

     } 

     @Override 
     public void onError(ErrorInfo errorInfo) { 
      super.onError(errorInfo); 
     } 
    }; 

channel.getUnconsumedMessagesCount(callbackListener); 

Répondre

2

Twilio évangéliste développeur ici.

channel.getUnconsumedMessagesCount définit uniquement le callbackListener à appeler une fois lorsque le résultat est renvoyé. Il ne l'installe pas de manière permanente en tant qu'écouteur, donc vous ne fuyez pas la mémoire, et si vous avez besoin de compter à nouveau le message non consommé, vous devez l'appeler à nouveau. Notez que la valeur est mise en cache pendant 5 secondes, il n'est donc pas nécessaire de l'appeler plus souvent que cela. Faites-moi savoir si cela aide du tout.

+0

Génial merci Phil. J'ai finalement compris qui était le véritable coupable de la fuite de mémoire. – Lunkie

+0

Bonne nouvelle! Et je suis content que ce n'était pas ce petit bout! – philnash