Aller au contenu

Augmenter la RAM du Hero???


diidou

Recommended Posts

mais 80mo c'est quand même faible je trouve en plus sa rame

Ca ne rame pas parceque tu as 80mo de libres! Quand bien meme tu aurais 2 gigas de libres, ca ramerait de la même manière.

Avoir de la mémoire de libre n'est pas signe de rapidité!

Toutes tes applis font un ou 2 mégas maximum, tu penses bien que pour ellles, c'est la même chose d'avoir 80 ou 2.000 mégas de libre, c'est de toutes facons beaucoup plus que ce qu'elles n'ont besoin!

Lien vers le commentaire
Partager sur d’autres sites

Vous parler RAM ou ROM?

la ROM c'est de l'espace de stockage(comme le disque dur d'un PC), la taille n'a aucune importance par rapport a la rapidité(la vitesse d'accès par contre oui, mais la on est sur de la mémoire solide, en composant donc c'est assez rapide).

la RAM elle est utilisée par les applications pour y stocker temporairement des informations, caches etc(seulement quand c'est applications sont lancées)... donc elle a une importance sur la rapidité mais surtout si on utilise bcq d'applications en même temps...(la encore la vitesse d'accès joue un rôle, mais on est aussi sur de la mémoire solide).

Lien vers le commentaire
Partager sur d’autres sites

C'est sans doute parce que tu as 80 Mo de libre que ça rame... Si tu as tant de RAM dispo, c'est que toutes tes applis sont killées (le Hero tourne plutôt à 30-40 en utilisation normale voire faible), et du coup la moindre action est un nouveau processus... Il faut y aller mollo avec les task killers, après on croit que ça rame alors qu'en fait non :)

Lien vers le commentaire
Partager sur d’autres sites

Parce qu'à force de tout killer et de ne rien laisser tranquillement suivre son cours en arrière plan, chaque programme lancé doit à chaque fois regénérer tout son environnement... En tous cas moi depuis que j'ai viré les auto-kill & cie, mon Hero est bien plus fluide. Je tourne à environ 20 Mo et 30 Mo de libre constamment, et c'est pas pour ça que ça rame !

Lien vers le commentaire
Partager sur d’autres sites

La meilleure utilisation de la RAM, c'est quand elle est presque pleine et pour cause : 130Mo de RAM vide ça sert à rien, alors que 130Mo de RAM pleine, ben c'est ça en moins à charger ou a calculer pour le CPU.

L'accès aux données stockées en RAM est plus rapide que les données inscrites en dur (quoique la différence ROM/RAM est moins flagrante que RAM/HDD), d'autant qu'en mémoire vive on stocke l'appli qui tourne, c'est à dire pas d'initialisation, pas de chargement de fichiers config...etc.

Après il y a une quantité de mémoire critique pour qu'une appli lancée ne soit pas obligée d'en tuer une autre pour avoir de la place. 20-30Mo, c'est laaaargement suffisant (excepté le cas ou une appli est très gourmande, ou celui ou on lance 10 applis en même temps).

Cordialement.

Lien vers le commentaire
Partager sur d’autres sites

La meilleure utilisation de la RAM, c'est quand elle est presque pleine et pour cause : 130Mo de RAM vide ça sert à rien, alors que 130Mo de RAM pleine, ben c'est ça en moins à charger ou a calculer pour le CPU.

L'accès aux données stockées en RAM est plus rapide que les données inscrites en dur (quoique la différence ROM/RAM est moins flagrante que RAM/HDD), d'autant qu'en mémoire vive on stocke l'appli qui tourne, c'est à dire pas d'initialisation, pas de chargement de fichiers config...etc.

Après il y a une quantité de mémoire critique pour qu'une appli lancée ne soit pas obligée d'en tuer une autre pour avoir de la place. 20-30Mo, c'est laaaargement suffisant (excepté le cas ou une appli est très gourmande, ou celui ou on lance 10 applis en même temps).

En ce qui me concerne, j'ai noté qu'en dessous de 30Mo mon Hero commençait à vraiment ramer (sans que j'en ai toute l'explication). Le dialer entre autres mettait beaucoup plus de temps pour se lancer. Je pense que 35Mo (voire 40Mo) au minimum est une bonne marge de sécurité.

Lien vers le commentaire
Partager sur d’autres sites

Plus la ram sera utilisé plus ta batterie aura une durée de vie faible ... c'est comme un ordinateur y'a pas de secret en mode sommeil si ta ram est utilisé a 70% la batterie se videra très vite c'est pourquoi il y a les autokill après en mode utilisation c'est le même principe

Lien vers le commentaire
Partager sur d’autres sites

Plus la ram sera utilisé plus ta batterie aura une durée de vie faible ... c'est comme un ordinateur y'a pas de secret en mode sommeil si ta ram est utilisé a 70% la batterie se videra très vite c'est pourquoi il y a les autokill après en mode utilisation c'est le même principe

En effet, tout dépend de l'utilisation que tu fais de ton Smartphone. Si tu utilises des applis gourmandes tout au long de la journée, ou plusieurs applis en même tps pendant longtemps la batterie se videra vite.

Il y a un travail important à faire concernant l'optimisation de l'utilisation de la RAM par les dev. Sans compter les fuites mémoires dûes à Flash... Il serait envisageable de mettre en ROM ou en SD les données des applis en veille de longue durée. Ce n'est qu'une piste mais je pense qu'il faudrait creuser un peu cette possibilité.

Mais sur le principe tu as raison. Reste que les smartphones ont tous une autonomie d'environ 30h en utilisation "normale". Les puces GPS et Wifi par exemple sont de loin les plus gourmandes en batterie (observation empirique, j'ai pas de chiffre, ça pourrait être intéressant d'ailleurs).

Lien vers le commentaire
Partager sur d’autres sites

Il y a un travail important à faire concernant l'optimisation de l'utilisation de la RAM par les dev.
+1

La plupart des développeurs sont amateurs, et pas franchement des experts Java. Je n'en suis pas un non plus et j'ai donc commis des erreurs idiotes, par exemple j'ai récemment mis en place la mise à jour auto de la liste des gares dans mon appli : un fichier type CSV, téléchargé, puis intégré dans la base.

Voici le premier code que j'ai fait :

String[] lines;
dans un sous-bloc {
   String content = "";
   InputStream is = flux de téléchargement du fichier;
   while (il y a des octets à lire) {
       byte[] bytes = lire X octets;
       content += new String(bytes);
   }
   lines = content.split("\n");
}
for (String line : lines) {
   injecter line dans la base
}

Le fichier pesant 270 Ko je me suis dit naïvement qu'au pire ma variable "content" pèserait 270 Ko :) En plus j'avais bien pris soin de définir "content" dans un sous-bloc de manière à ce que la mémoire soit libérée, et que seule l'occupation de "lines" soit conservée, total je me suis dit que si j'atteignais les 600 Ko de RAM ce serait le bout du monde. Raté ! Résultat : ça pouvait monter à 8 Mo rien que pour cette partie de l'activity !!

J'ai changé mon code pour lire le fichier distant ligne à ligne à l'aide d'un BufferedInputStream, et j'ai maintenant 2 Mo constant fixe, plus d'OutOfMemory pour mes pauvres utilisateurs martyrisés :)

InputStream is = flux de téléchargement du fichier;
BufferedInputStreamReader isr = flux bufferisé à partir de "is"
String line;
while ((line = isr.readLine()) != null) {
 injecter line dans la base
}

Ah par contre j'y ai perdu en effets kikoo-lol je n'ai maintenant plus de super barre de progression pour le téléchargement d'un côté puis l'injection des données de l'autre. Pour ça il faudra que je passe par un fichier temporaire mais bon voilà quoi :P

Java n'est vraiment pas évident à maîtriser au niveau de la gestion de la mémoire, et je pense que la doc de Google gagnerait à contenir bien plus de "trucs et astuces" orientés vers ce type d'optimisation.

Modifié par naholyr
Lien vers le commentaire
Partager sur d’autres sites

Ce qui est déjà bien c'est que Java étant assez haut niveau, il n'y a pas à s'occuper vraiment de la mémoire, pas comme du bas niveau tel le C/C++ où il faut tout gérer.

Par exemple pas de risque de buffer overflow, et le garbage collector fait un bon boulot. Mais cela n'empêche pas d'optimiser son code de manière logique bien sûr :D

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...