IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java ME Discussion :

Taille Jar trop grosse


Sujet :

Java ME

  1. #1
    Membre confirmé
    Avatar de lil_jam63
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 447
    Points : 600
    Points
    600
    Par défaut Taille Jar trop grosse
    Salut, je suis en train de me mettre gentillement au dev de jeux sous J2ME et je commence deja à avoir un soucis de taille, pour l'instant c'est une MIDlet pas trop compliqué, qui se contente d'afficher une image dès le démarrage avec en accompagnement une ambiance musicale, j'utilise pour ça un PNG de 54.9 Ko et un WAV de 2.34 Mo et pourtant je me retrouve avec un Jar de plus de 5 Mo même si je supprime la partie musique, est ce normale ??? Mon projet comporte 2 classes, l'une de 200 lignes et l'autre de 50.
    Je suis partis sur l'idée que seul ce qui est utile est importé comme delphi et je fais plusieurs import

    la classe principale
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    import javax.microedition.midlet.*;
    import javax.microedition.lcdui.*;
    et l'autre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    import javax.microedition.lcdui.*;
    import javax.microedition.media.*;
    import javax.microedition.media.control.*; 
    import java.io.*;
    import java.util.*;
    est ce que cela peut en être la cause? Si oui comment est ce que je peux optimiser cela.
    ----------------------------------------------------
    Avant de poster, pensez à utiliser les différents outils à votre disposition:
    Google, la FAQ et le moteur de recherche.

  2. #2
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    est ce que cela peut en être la cause?
    non je ne pense pas, les importations en java ne sont pas identiques à celles de C/++. En fait les imports n'incluent pas les classes, mais pointent vers d'autres classes de la JVM, donc que tu les mette ou pas la taille de ton prog ne changera (presque) pasé. (bon peut-être que ça change pour J2ME mais ça m'étonnerait)

    comment est ce que je peux optimiser cela.
    en n'important que les classes réellement utilisées et pas les paquages complet

    ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    import javax.swing.JFrame; // au lieu de import javax.swing.*;
     
    class MaClasse extends JFrame{}
    mais bon cela n'aura aucune influence sur la taille du jar, donc la question reste ouverte....

    peut-être qu'il faudrait essayer de faire le jar "à la main": tu crée une archive zip contenant un répertoire META-INF et le fichier manifest, et uniuement tes fichier nécessaire. La taille devrait sensiblement baisser
    "Le plug gros problème des citations trouvées sur internet, c'est qu'on ne peut jamais garantir leur authenticité"

    Confucius, 448 av. J-C

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 76
    Points : 88
    Points
    88
    Par défaut le plus simple c encore
    donne nous la ligne qui construit ton jar (si c pas dans un IDE).

    de toute manière un jar n'est qu'un zip "bien formé" dc le mieux c de faire unzip -d monappli/ monjar.jar et de regarder ce qu'il contient exactement avec un petit
    ll -R ./monappli

    y a pas de secrets, les octets ca se créé pas tout seul ;-)

    waddle

    --
    EPITA Student
    Promo 2006
    Waddle

  4. #4
    Membre confirmé
    Avatar de lil_jam63
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 447
    Points : 600
    Points
    600
    Par défaut
    Merci de ta réponse, je viens de faire des essais en important seulement ce dont j'avais besoin et la taille reste toujours la même, j'ai supprimé la partie sonore qui étais la plus lourde et cela n'a strictement rien changé.

    @Waddle
    J'utilise KToolbar pour créer mon package, sinon je vais essayé de décompresser le jar comme tu l'explique et je te tiens au courant.
    ----------------------------------------------------
    Avant de poster, pensez à utiliser les différents outils à votre disposition:
    Google, la FAQ et le moteur de recherche.

  5. #5
    Membre confirmé
    Avatar de lil_jam63
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 447
    Points : 600
    Points
    600
    Par défaut
    ok, je comprend mieux, en fait j'ai décompresser avec winrar et je me retrouve avec tous les fichiers qui se trouve dans le repertoire ressource du projet, je pensais que seul ce qui étais utilisé étais importé dans le package mais apparement non. Apres avoir supprimé ce qui étais inutile, j'ai une taille correcte.

    Merci de votre aide.
    ----------------------------------------------------
    Avant de poster, pensez à utiliser les différents outils à votre disposition:
    Google, la FAQ et le moteur de recherche.

  6. #6
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 76
    Points : 88
    Points
    88
    Par défaut ok alors
    ok c un tres bon outil ca tombe bien.

    as-tu essayé de faire un clean avant de créer ton package, ca efface les fichiers class temporaires pour ca dan KToolBar va dans Project>clean

    ensuite tu peux créer ce qu'on appel un package épuré (obfuscated package en anglais) qui te donnera un jar plus petit (je t'explique pas comment ca marche, d'ailleur on s'en fou, mais si tu veux des infos google est ton ami), pour cela choisis un outil qui traite ton code et qui est reconnut par KToolBar (com proguard @ proguard.sourceforge.net) et va dans project>package>create obfuscated package.

    waddle

    avec tout ca et en dézippant ton jar pour voir ce qu'il a, tu devrais finir par avoir un tout petit jar.

    ps: pour les import, Phil_s a raison, les imports en Java sont en fait des définitions de nom pour la compilation et en aucun cas des include com en c++ qui eux, copie-colle le code. Ces noms permettent au compilo de vérifier que les types, les cstes , etc.. existent bien. A l'execution, cela permet a la VM de savoir ou se trouve le code a executer quand tu appel une methode par exemple.

    --
    EPITA Student
    Promo 2006
    Waddle

  7. #7
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 76
    Points : 88
    Points
    88
    Par défaut je peux pas trop t'aider là
    bah désolé mais je peux pas trop t'aider ca fais un bail que je l'ai plus utilisé et pour tout dire je l'ai installer qu'un fois dc je me souviens pas trop comment j'ai fais.

    en tout cas il te reste le site de SUN pour KToolBar:
    http://java.sun.com/j2me/docs/wtk2.1/user_html/ch_ktoolbar.html

    et pour proguard, j'avais du trouver la soluce dans la doc (a moins que ce soit ds un forum... ;-))

    enfin si j'ai trouvé, nul doute que tu trouvera aussi.

    en tout cas avec KToolBar tu commence bien... :-D

    waddle

    --
    EPITA Student
    Promo 2006
    Waddle

  8. #8
    Membre confirmé
    Avatar de lil_jam63
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    447
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 447
    Points : 600
    Points
    600
    Par défaut
    Merci pour ton aide, je viens de telecharger proguard et j'ai créé un obfuscated package qui effectivement est plus petit, ce sont des choses à savoir, surtout quand on est limité en taille.

    Je commence juste la java et KToolbar donc j'ai pas forcement saisi quelques trucs.
    ----------------------------------------------------
    Avant de poster, pensez à utiliser les différents outils à votre disposition:
    Google, la FAQ et le moteur de recherche.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Optimisations d'une trop grosse table ?
    Par Ouguiya dans le forum Optimisations
    Réponses: 2
    Dernier message: 10/08/2007, 13h47
  2. [HSQL] Une BD pas trop grosse, c'est quoi ?
    Par Djobird dans le forum JDBC
    Réponses: 3
    Dernier message: 03/05/2007, 11h06
  3. Base de données trop grosse pour sql
    Par creale10 dans le forum Oracle
    Réponses: 2
    Dernier message: 08/12/2006, 10h25
  4. [Dump][PHPmyAdmin] table trop grosse???
    Par Slein dans le forum Administration
    Réponses: 3
    Dernier message: 03/06/2004, 23h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo