2017-03-14 4 views
2

J'utilise Java JMF pour lire des vidéos et obtenir des images. Pour autant que je sache, un lecteur charge tous les médias en mémoire, ce qui ne peut pas être très pratique pour les gros fichiers.Puis-je limiter l'utilisation de la mémoire du lecteur JMF?

Existe-t-il un moyen de limiter le chargement des ressources ou la consommation de mémoire? Je comprends que le processus nécessiterait plus de lecture de disque, mais je pense que c'est un commerce équitable.

Merci à l'avance.

Répondre

1

Une approche de base consisterait à limiter la taille du segment de mémoire de la machine virtuelle Java pour cette application lorsque vous exécutez l'application Java.

Vous pouvez utiliser le drapeau -Xmx avec la commande 'java' pour le faire:

-Xmx

Par exemple:

java -Xmx512m myVideoApp

+0

Merci pour votre réponse, mais si la vidéo entière ne rentre pas dans la mémoire, Est-ce que le drapeau fait que le programme le charge en morceaux, ou est-ce qu'il ne fonctionnerait pas du tout? – juanjetomas

+0

Si un programme a besoin de plus de mémoire que ce qui est disponible, il devrait fonctionner de toute façon, mais plus lentement car il devra permuter et échanger des morceaux. En passant, très peu de vidéos seront assez petites pour être chargées en mémoire, et il n'y a aucun intérêt à le faire pour la lecture car il suffit d'avoir assez de mémoire pour afficher la section actuelle de la vidéo (plus tout ce que vous voulez inclure dans le tampon). J'aurais probablement dû dire ça en premier, y penser! – Mick

+0

Merci encore pour la réponse. Je vais essayer ce drapeau dès que possible et je posterai les résultats. – juanjetomas