【问题标题】:SAX parser takes a lot of time to parseSAX 解析器需要大量时间来解析
【发布时间】:2011-07-07 02:04:46
【问题描述】:

我创建了一个应用程序,我在其中使用 SAX 解析器解析来自服务器的数据。我关注了this link

它工作正常,但花了很多时间。我需要减少解析内容的时间。 有什么专业提示吗?

【问题讨论】:

  • 发布你的 SAX 解析代码,否则......嗯,这对你来说有点 teensy 有点难。

标签: android saxparser


【解决方案1】:

显而易见的提示是:分析您的代码并确定时间的去向。也许您正在做很多工作来处理一些 SAX 事件。也许时间花在做一些与解析完全无关的事情上。除非您进行个人资料介绍,否则您无法判断。

【讨论】:

    【解决方案2】:

    就像泰德说的,profile your code

    您确定是解析时间而不是加载时间吗?你是wifi还是移动网络?其他应用加载数据的速度有多快?

    也就是说,不要使用那么多 ArrayList 对象,具有自定义容器类型的单个数组列表(即 Ticket 对象具有价格和日期,无需具有价格数组和日期数组)。

    检查您的内存使用情况,通常如果速度很慢,您会产生大量垃圾。 (在日志中寻找GC)

    对不会更改的字符串参数使用final 关键字。所以setString(final String s) 而不是setString(String s)。这应该可以防止字符串在作为参数传递时被重复。

    如果可以的话,使用 JSON 而不是 XML,它更轻量级。

    在您进行任何重大更改后,再次profile your code

    【讨论】:

    • 使用final 不会影响运行时的任何内容。 (无论有没有final 参数修饰符,编译方法的字节码都是相同的。)无论如何,字符串在作为参数传递时永远不会重复;该方法接收对调用代码中存在的相同 String 对象的引用。也许您正在考虑另一种语言?
    • @Ted 有趣,不知道 final 关键字。他们似乎都融合在一起:P
    猜你喜欢
    • 1970-01-01
    • 2014-05-01
    • 1970-01-01
    • 2011-08-14
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-30
    相关资源
    最近更新 更多