我在Android中使用SAXParser解析一个大的XML文件,并想知道是否有更快的方法进行字符串比较?我听说有传言说你可以使用Dalvik VM做一些能节省内存的东西,从而加快速度,但我找不到任何在线内容。
有人能指出我正确的方向要么使用Dalvik加速我的解析,要么更好,更快的方式进行XML解析?
答案 0 :(得分:1)
我会使用goold old String.compareTo(String)
。
现在可能存在更快的方式,但compareTo()
是标准方式,因此是唯一有利于Android未来优化的方法。因此,最终优化比较可能会比标准方法慢。
这与成员字段访问时间非常相似。在Android的开头,它做得更快
final AnyClass local = mMyMember;
local.something();
大于
mMyMember.something();
但现在已经不是这样了。
答案 1 :(得分:1)
String的compareTo()方法在dalvik内部实现,是一个特殊的手工编写的程序集例程。您不太可能在字符串比较中击败其性能
如果这是您正在下载的xml文件,我不知道有任何方法可以加快您的解析时间。但是,如果你可以将它作为资源包含在apk中(在res / xml文件夹中),那么当你构建apk时它将被编译成Android的二进制xml格式,你可以通过XmlResourceParser访问它,这应该是显着的更快