使用android XmlPullParser解析XML文件时的性能问题

时间:2014-03-28 09:45:21

标签: java android xml xmlpullparser

我正在编写一个只有两个片段的简单Android应用程序。第一个是内容列表,第二个是有关该内容的完整数据。 我想将我的数据存储在xml文件格式中,如下所示。

    <item1>
       <f1>data</f1>
       <f2>data</f2>
       <f3>data</f3>
       <f4>data</f4>
       <f5>data</f5>
    </item1>
    <item2>
    .....
    </item2>

我想使用f1,f2和f3来创建自定义列表视图和整个数据的所有字段。我已经通过使用读取整个数据的XmlPullParser并将其放在表示的java对象的ArrayList中来实现。

问题是我不希望每次都处理整个数据。我喜欢的方式是这样的

创建列表视图时

  1. 只读取我文件中的f1,f2和f3,因为我不需要f4和f5。

  2. 首先只读取尽可能少的项目!由于屏幕上只显示5-10个项目,我想首先解析它们,当我回收视图时根据需要解析项目。

  3. 显示内容时

    • 只得到我想要的项目,而不是我不在乎的其他一百个人!

    那我怎么能做到这一点?!我可以阅读以高效的方式说出xml文件的第200项吗?提前感谢您的回答。

1 个答案:

答案 0 :(得分:0)

为什么不使用数据库?我认为,对于存储超过200条记录,建议使用数据库。 此外,您的xml无效。你需要一个像这样的root标签:

<items>
    <item1>
        <f1>data</f1>
        <f2>data</f2>
        <f3>data</f3>
        <f4>data</f4>
        <f5>data</f5>
    </item1>
    <item2>
        .....
    </item2>
</items>