Je sais que ce son est fou mais n'est pas :) p>
J'ai une application qui est tuée lorsqu'il est exécuté sur des téléphones mobiles ayant une mémoire de RAM bas. Pour tester cette application, j'ai besoin de quelque chose qui "mange" la RAM, je le fais jusqu'à présent en démarrant beaucoup de jeux, d'ouverture des applications, de pression sur le bouton de la maison et sur seulement pour manger la mémoire RAM ... P>
Donc, je suis une chose stupide de perdre 10 à 20 minutes pour remplir la mémoire de la RAM avec "ordures" et peut-être qu'il y a un moyen de le faire avec une autre application factice que je vais utiliser juste pour "manger" la mémoire de la RAM Sur le téléphone, donc mon autre application sera tuée par un système Android ... P>
Quelqu'un a-t-il ce problème jusqu'à présent? Et est-il possible de le faire avec une application? Est-il possible de manger beaucoup de mémoire RAM juste d'une application? P>
merci p>
5 Réponses :
C'est juste une femme sauvage ici, mais créez une application avec une classe d'activité, une classe de service abstraite et plusieurs services de béton étendent l'abstrait.
La classe de service abstraite mangera de la mémoire, vous pouvez faire quelque chose d'aussi simple que le chargement le même bitmap des ressources et le mettre dans un laucache, dormir pour aa quelques milisecondes et répéter. p>
alors vous créerez plusieurs classes de services qui étend le résumé, mais ne nécessitent aucun autre code, juste p> maintenant à partir du lancement de l'activité, vous ferez la chose évidente de tirer les services. p> La partie intelligente commence, sur le manifeste que vous allez déclarer Chacun de ces services dans un processus différent (démarrant essentiellement chacun des services dans une machine virtuelle différente avec sa propre mémoire de tas) comme ceci: p> et si vous l'essayez , s'il vous plaît laissez-moi savoir si cela fonctionne, je suis très curieux de ça. p> p>
Face au même problème (besoin de remplir la mémoire RAM sur le périphérique jusqu'à matriction de mon application) Par hasard a trouvé un programme sur Google Market pour cela :) https://play.google.com/store /apps/details?id=me.empirical.android.Application.fillmory P>
En invite de commande, tapez les éléments suivants pour obtenir tous les processus avec leur priorité (Nice) P>
EG: cmd> adb shell ps -p p>
Ainsi, prenez un processus et une réinquation de sa priorité à une valeur inférieure de valeur (plage -20 à +20) a plus de priorité. P>
EG: ADB Shell Renice -20 782 [Renise de la coque adb] De cette façon, nous pouvons laisser ce processus de manger plus de mémoire, de cette manière p>
chargez simplement d'énormes bitmaps dans la liste dans le cycle ou le montrer dans des vues si vous le souhaitez. P>
J'ai écrit une petite application gratuite qui fait exactement ce que vous voulez. Et c'est gratuit, sans annonces ni autorisations :) p>
https://play.google.com/store /apps/details?id=com.fabsimilian.memororypump P>
Pourriez-vous s'il vous plaît partager le code source de votre application.
Ce lien est mort.
Avez-vous essayé d'utiliser l'émulateur avec des paramètres de mémoire faible?
J'ai besoin d'un véritable appareil :(, l'émulateur n'est pas une option, je sais que je peux définir les paramètres AVD comme je me plaise, mais cela peut m'aider pour cette situation
Créez quelques applications avec différents noms d'emballages, mais le même code qui utilise un peu de mémoire, mais conserve un fil d'arrière-plan enfoncé jusqu'à ce que vous cliquiez sur un bouton pour le faire arrêter. Assurez-vous que le fil d'arrière-plan accède à un gros objet de mémoire (comme de grosses images). Vous ne pouvez que porc beaucoup de mémoire avec une application afin d'avoir besoin de quelques-uns d'entre eux.
Pouvez-vous raconter l'appareil? Peut-être que vous pourriez alors utiliser un programme Dumb C, allouer beaucoup de mémoire?
Je pense que vous devriez voir cette testdiaries.com/test-android-app-low -Memorie