Bonjour tout le monde!
Je developpe une application sur J2me avec Netbeans, elle a pour but d'afficher des images au format png qu'un serveur lui envoie.
Je suis confronté à de serieux problemes de performances.
J'ai repris cette application avant, pour la lecture des données (via un InputStream), on lisait octet par octet. Forcement c'etait plus lent, mais par contre ca n'obligeait pas d'allouer un tableau d'octet.
En effet pour faire le lien un ByteArrayOutPutstream et un InputStream, je n'ai trouvé qu'un tableau de byte [].
Dans ma version actuelle, j'alloue ce dernier à une taille maximal 100Ko (les images ne doivent pas depasser cette taille, le maximum qu ej'ai vu c'etait 77Ko).
Je l'utilise donc comme tampon, mon algo :
Mon probleme c'est que mon appli est vraiment trop gourmande, j'ai donc essayé de limité au mieux mes "depenses" en :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
- virant tous les message de debug (consommation de String)
- tous les variables locales qui sont utilisées dans les methodes sont mise à "null"
et j'ai dernierement essayé en lancant moi meme le Garbage Collector avec System.gc(), toutes les 100 images recues.
Dans l'emulateur du WKT25, dans le moniteur de gestion de la memoire, je me retrouve avec un beau signal triangulaire (blagues d'electronicien
), alors que sans j'ai droit à une succession d'exponentielles.
Ma question est simple, est ce que l'on peut / doit faire mieux ?
L'appel au Garbage Collector est-il conseillé?
Merci !

 

 
		
		 
        

 
			
			

 
   


 Gestion de la memoire, Garbage Collector, tableau statique et ByteArrayOutputStream
 Gestion de la memoire, Garbage Collector, tableau statique et ByteArrayOutputStream
				 Répondre avec citation
  Répondre avec citation
Partager