Comment j'ai empêché mon application VPN d'être tuée en arrière-plan

Je partage cela au cas où quelqu’un d’autre aurait le même problème.

J’ai une TCL 43C735 et je l’utilise fréquemment pour diffuser des vidéos via un VPN. Cependant, l’application VPN que j’utilise (Tailscale) était parfois tuée alors qu’elle tournait en arrière-plan. Je pensais que c’était parce que la mémoire du système était faible et qu’il n’y avait rien à faire, mais j’ai fait quelques recherches et trouvé une solution pour empêcher l’application d’être tuée.

MISE À JOUR : u/EnvironmentalChip523 a trouvé une meilleure façon d’empêcher le VPN d’être tué : désactiver complètement l’application TCL Guard. C’est plus simple à faire (bien que cela nécessite encore ADB) et cela persiste après le redémarrage. Voici le lien vers le commentaire : https://www.reddit.com/r/tcltvs/comments/1dfxtn1/comment/lgo3avs/

MISE À JOUR 2 : J’ai depuis remarqué que désactiver l’application TCL Guard provoque une lenteur à mesure que les applications en cours s’accumulent, car TCL Guard était responsable de tuer les applications en arrière-plan. Cela est particulièrement visible sur des modèles peu performants comme le mien. Si vous constatez des symptômes similaires après la solution simple ci-dessus, envisagez de réactiver TCL Guard et d’utiliser ma solution initiale ci-dessous :

Tout d’abord, dans mon cas, l’application VPN n’est pas tuée par le système Android, mais par le service TCL Guard qui fonctionne en arrière-plan. J’ai analysé le service et j’ai trouvé que :

  1. Le service a une liste interne d’applications appelée mKillWhiteList. Les applications de cette liste ne seront pas tuées.
  2. Il est possible pour un utilisateur non privilégié de modifier le contenu de cette liste, y compris d’ajouter n’importe quelle application.

Voici comment ajouter votre application à la liste :

  1. Trouvez le nom du package de l’application : allez dans Paramètres > Applications > Voir toutes les applications > Sélectionnez l’application > Le nom du package devrait être en dessous du nom de l’application. Par exemple, pour Tailscale, c’est com.tailscale.ipn.
  2. Activez le débogage USB. Recherchez comment faire si vous ne savez pas.
  3. Connectez-vous à un shell ADB sur la TV. Il existe des guides en ligne pour cela.
  4. Vérifiez si la TGuardService supporte l’option --ma en exécutant la commande suivante :
    dumpsys activity service TGuardService --help
    Dans mon cas, la sortie est :
SERVICE com.tcl.guard/.memorymanager.TGuardService e4e2eca pid=1199
  Client:

    =================== Démarrage de TGuardService ===================

    commandes memorymanager :
    	--help
    		Afficher ce texte d'aide.
    	exécuter SmokeTest[--SmokeTest]
    		affiche si le fichier existe.
    	dump MemoryInfoManager avec --MemoryInfoManager
    		affiche le enregistrement mémoire du processus
    	modifier StrategyConfig avec --m clé1 valeur1 clé2 valeur2
    		dumper à nouveau pour vérifier le résultat
    	modifier la liste blanc de KillWhiteList avec la commande --ma com.tcl.logkit,com.tcl.bi
    		affiche le résultat de la modification
    	modifier le niveau de journalisation[--debuglog true]
    		modifie l'impression du journal memorymanager.

    =================== Fin de TGuardService =================== 
  1. Si l’option --ma est supportée, ajoutez votre application à mKillWhitelist avec la commande suivante (remplacez com.tailscale.ipn par le nom de votre package) :
    dumpsys activity service TGuardService --ma mKillWhiteList com.tailscale.ipn

  2. C’est terminé !

Malheureusement, cette modification ne persiste pas après le redémarrage, il faut donc refaire cette étape à chaque redémarrage. Cependant, notez que appuyer sur le bouton d’alimentation ne met pas la TV hors tension, mais la suspend, donc lorsque vous la rallumez, les modifications sont toujours là.

J’espère que cela ne vous dérange pas si je partage cela sur le canal de discussion Telegram sur les Android TV TCL. Je vous ai crédité pour le message. J’espère que cela ne vous dérange pas.

J’ai un écran TCL C645. Le VPN s’arrête quelques instants après l’allumage. C’est un gros problème pour moi. Pouvez-vous m’aider avec une solution simple et compréhensible ? Merci.