java.lang.OutOfMemoryError
at com.solvoterra.xmlengine.Element.<init>(Element.java:9)
at com.solvoterra.xmlengine.XML_Handler_Main.startElement(XML_Handler_Main.java:71)
at org.apache.harmony.xml.ExpatParser.startElement(ExpatParser.java:146)
at org.apache.harmony.xml.ExpatParser.append(Native Method)
at org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:505)
at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:492)
at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:308)
at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:264)
at com.solvoterra.xmlengine.Project_Man.readXML_File(Project_Man.java:148)
at com.solvoterra.xmlengine.Project_Man.run(Project_Man.java:83)
at java.lang.Thread.run(Thread.java:1102)
Je peux voir de cela, l'erreur est survenue pendant l'exécution d'un nouveau processus qui ne contient que la fonction de SAX Parse un fichier XML en mémoire (RAM) Je ne connais pas tous les détails que cette information a été fourni par un utilisateur anonyme sur le marché. Avant que la fonction d'analyse soit appelée, tous les tampons et la mémoire sont effacés des données existantes.OutOfMemoryError
Q: Est-il possible que l'utilisateur tente d'analyser une base de données HUGE XML en mémoire et que la RAM allouée par son téléphone ne soit pas suffisante pour gérer sa base de données?
Peut-être devriez-vous envisager d'utiliser la base de données sqlite et juste parcourir avec des requêtes à l'intérieur au lieu d'analyser XML? – ykatchou
J'écris un éditeur XML que vous voyez. –