首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android + Phonegap + XML数据

Android + Phonegap + XML数据
EN

Stack Overflow用户
提问于 2012-05-21 00:22:21
回答 1查看 1.3K关注 0票数 0

我正在开发一个Phonegap Android应用程序,它是一种目录和产品搜索功能。它与提供所有数据的服务器内部网同步。

问题是,这个应用程序都是开发的,除了正在崩溃的同步。我注意到问题出在XML解析上。

同步是一个带有按钮的HTML。单击按钮后,它将启动JS函数,如下所示:

代码语言:javascript
复制
$.ajax({
     url : "file:///android_asset/xml/produtos.xml",
     data : "{}",
     async : false,
     cache : false,
     dataType : "xml",
}).error(function (xhr, ajaxOptions, thrownError){
     alert(xhr.status);
     alert(thrownError);
}).done(function(data) {
     // search all data, download all files from XML URL tag (used this: https://github.com/phonegap/phonegap-plugins/tree/master/Android/Downloader), construct SQLite statements and throw it in an Array for late DB transaction
     if($(data).find("produtos").length > 0 && $(data).find("produtos").eq(0).find("produto").length > 0) {
          $(data).find("produtos").eq(0).find("produto").each(function() {
               i++;
               produtos[i] = "CONSTRUCT SQL STATEMENT WITH XML PARSED DATA LIKE $(this).find('nome').text()";
          }
     }
});

XML文件非常大,大约700kb,包含大约1800个产品。每个产品内部有大约10个直接节点,大约5个childs内部有其他10个节点(详细信息、图像、相关产品等)。因此,每个产品大约有80个节点。在我的XML中,1800 * 80 = 144000个节点。此外,每个产品都有大约5个URL节点,它们是要下载的文件(我使用的是https://github.com/phonegap/phonegap-plugins/tree/master/Android/Downloader插件)。

如果我开始同步下载,它停止内存泄漏(大约512mb,不记得正确的消息,但我可以明天张贴)。如果我在没有下载的情况下开始同步(只是XML解析),它需要大约30分钟,什么也不做(感觉像是在处理,但什么也不做)。我不知道是否有其他选项来同步这个初始数据(其他同步是通过参数传递上次同步时间戳完成的)。你们有什么问题或者(可能的)解决方案吗?如果你需要更多的信息,问我,我需要你的帮助。

谢谢大家!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-21 01:58:36

我认为您必须将xml文件拆分成更容易理解的块。144,000个节点对于移动/JS应用程序来说是不合理的:-)当然问题是,您控制xml目录的生产吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10675127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档