Comment garder la CPU "en sommeil" quand l'écran est éteint dans Android?
J'ai une application dans laquelle je suis l'envoi de données en réseau par WiFI. Tout va bien jusqu'à ce que je éteindre l'écran ou l'appareil se met en mode "veille". Je suis déjà verrouillage de la connexion WiFi, cependant, il semble être le cas, que la vitesse du PROCESSEUR rampes vers le bas quand il est en veille ce qui provoque mon streaming à ne pas se comporter correctement (c'est à dire les paquets ne circule pas aussi vite que je le voudrais comme ils le font lorsque l'appareil n'est pas en sommeil).
Je sais que je peux peut-être/peut-être devront aborder cette au niveau du protocole cependant, que pourrait peut-être pas être possible...
Est-il toute façon "pour empêcher que le CPU va en mode "veille" lorsque l'écran est éteint"? Si oui, comment? Sinon, des conseils sur la façon de maintenir la vitesse de mon WiFi flux régulier, si l'appareil est en mode veille ou pas?
OriginalL'auteur fatfreddyscat | 2011-10-01
Vous devez vous connecter pour publier un commentaire.
Prenez un PARTIAL_WAKE_LOCK de la PowerManager. Vous devez également ajouter le WAKE_LOCK la permission de votre manifeste.
CEPENDANT, mon wifi performance est dégradées à l'écran. Je suis (et l'était déjà avant de soumettre cette question) en prenant le WiFi sillage de verrouillage et, maintenant, aussi, prendre le CPU wake lock mais, encore en train de dégradation. Je suppose qu'un suivi serait: "est-il un moyen pour" vérifier la vitesse du processeur au moment de l'exécution " ... bien, j'ai trouvé une méthode: stackoverflow.com/questions/3021054/...
à l'aide de la méthode posté par 'zed_0xff' pour imprimer le contenu des fichiers posté par 'Ellis', mais malheureusement, elle donne juste la représentation de chaîne de caractères le tableau d'octets ou de quelque chose (par exemple illisible). Connaissez-vous un moyen "d'afficher correctement la vitesse du CPU" dans une "forme lisible par l'homme"? De cette façon j'ai pu tester que le PROCESSEUR est en fait rester à la même vitesse ou pas. Sinon, je ne suis pas sûr d'autres solutions à mon problème?
aussi, en passant, je suis voyant ce comportement (wifi dégradation des performances) quand mon téléphone n'est pas branché (par exemple, si je suis de l'exécution de l'application par le biais de la bad avec le téléphone branché à mon ordinateur, je ne vois pas le problème; c'est seulement lorsque le téléphone n'est pas branché).
j'ai donc vérifié que le contenu des fichiers "/proc/cpuinfo" "/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq" "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq" "/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq" sont les mêmes incl. BogoMIPS si l'écran est allumé ou éteint. Qui inclut si je prends le PARTIAL_WAKE_LOCK ou pas. Donc, est-il un moyen de vérifier que la serrure est en fait le processeur de ralentir? Ma méthode de décharger le contenu de ces fichiers ne semble pas fonctionner pour le vérifier (si l'partielle wake lock est, en fait, en gardant la CPU de ralentissement)
OriginalL'auteur Michael Madsen
Ok, donc, après beaucoup plus de recherches et d'expériences, il semble que le réel problème est le fait que, au moins sur certains téléphones, leur WiFi va dans un "sommeil partiel" mode MÊME SI vous avez pris le WiFi de verrouillage. Il semble que c'est ce que le 'WIFI_MODE_FULL_HIGH_PERF de" drapeau a été inventé pour lors de la prise de la WiFi de verrouillage... malheureusement, cet indicateur n'est disponible que sur certains appareils/les versions d'Android (je n'ai pas la moindre idée de qui mais, elle n'était pas disponible pour moi). Donc, il n'est donc pas une solution pour tous les appareils.
La seule "solution" (qui est en fait une bidouille) semble être de "détecter lorsque l'écran est éteint et puis, régler une alarme qui transforme l'écran en arrière immédiatement par la suite'. Les liens qui ont aidé un peu avec ce sont:
Comment garder une tâche vivant après téléphone dort-il?
et
http://android.modaco.com/topic/330272-screen-off-wifi-off/
J'espère que cela aide les gens qui connaissent WiFi perturbation lorsque le téléphone passe en veille de l'écran est éteint (et le téléphone est branché ou débranché [par exemple, vous ne verrez pas cet effet lorsqu'il est connecté à la bad; seulement lorsque le téléphone est en cours d'exécution que rien n'est connecté]).
Apparemment, il a été laissé à la mise en œuvre de façon à respecter le wifi de verrouillage sur les anciennes versions d'Android et, oui, sur mon vieux HTC Evo 4G (il était en cours d'exécution de pain d'épice/Android 2.3), en prenant le WiFi de verrouillage aurait pour conséquence le WiFi de rester sur, mais c'est la performance étant limité, nous avons donc ajouté une option pour les appareils tels que celui de "garder l'écran allumé" (ce qui permettrait de garder l'écran, même si elles essaient de le désactiver [par exemple, mon "bidouille" solution ci-dessus]) et qui permettrait le WiFi pour rester dans c'est normal, le mode haute performance.
OriginalL'auteur fatfreddyscat