android中XML文件的解析,在Android中解析大型xml文件的问题

是否有任何有效的XML解析器可供Android高效解析大型XML文件? XML文档在没有CDATA的元素中包含HTML文本。

目前我在Android中使用SAX解析器。当字符串以HTML字符分隔时,我会追加字符串,但解析整个文件需要4-5分钟。一旦我开始分析模拟器正在中止。日志猫o / p如下所示...

我目前的情况:

SD卡上的11 MB XML文件

文件包含XML中某些元素的HTML文本,但不包含在CDATA中

2-3分钟后模拟器中止

我的查询是:

Android在分析大型文件时是否存在实际限制

我应该使用对此类文件更有效的不同解析器吗

01-20 12:44:22.133: I/dalvikvm(19715): DALVIK THREADS:

01-20 12:44:22.143: I/dalvikvm(19715): "main" prio=5 tid=1 TIMED_WAIT

01-20 12:44:22.143: I/dalvikvm(19715): | group="main" sCount=1 dsCount=0 s=N obj=0x4001d8e0 self=0xccb0

01-20 12:44:22.143: I/dalvikvm(19715): | sysTid=19715 nice=0 sched=0/0 cgrp=default handle=-1345026008

01-20 12:44:22.143: I/dalvikvm(19715): | schedstat=( 1890827936 745978586 1231 )

01-20 12:44:22.143: I/dalvikvm(19715): at java.lang.Object.wait(Native Method)

01-20 12:44:22.143: I/dalvikvm(19715): - waiting on <0x44e7c158> (a android.os.MessageQueue)

01-20 12:44:22.143: I/dalvikvm(19715): at java.lang.Object.wait(Object.java:326)

01-20 12:44:22.143: I/dalvikvm(19715): at android.os.MessageQueue.next(MessageQueue.java:142)

01-20 12:44:22.143: I/dalvikvm(19715): at android.os.Looper.loop(Looper.java:110)

01-20 12:44:22.143: I/dalvikvm(19715): at android.app.ActivityThread.main(ActivityThread.java:4627)

01-20 12:44:22.143: I/dalvikvm(19715): at java.lang.reflect.Method.invokeNative(Native Method)

01-20 12:44:22.152: I/dalvikvm(19715): at java.lang.reflect.Method.invoke(Method.java:521)

01-20 12:44:22.152: I/dalvikvm(19715): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)

01-20 12:44:22.152: I/dalvikvm(19715): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)

01-20 12:44:22.152: I/dalvikvm(19715): at dalvik.system.NativeStart.main(Native Method)

01-20 12:44:22.152: I/dalvikvm(19715): "AsyncTask #1" prio=5 tid=7 RUNNABLE

01-20 12:44:22.152: I/dalvikvm(19715): | group="main" sCount=0 dsCount=0 s=N obj=0x44e98170 self=0x116238

01-20 12:44:22.152: I/dalvikvm(19715): | sysTid=19721 nice=0 sched=0/0 cgrp=default handle=1139576

01-20 12:44:22.162: I/dalvikvm(19715): | schedstat=( 30192250334 11754013998 4287 )

01-20 12:44:22.162: I/dalvikvm(19715): at java.lang.AbstractStringBuilder.(AbstractStringBuilder.java:~89)

01-20 12:44:22.162: I/dalvikvm(19715): at java.lang.StringBuilder.(StringBuilder.java:96)

01-20 12:44:22.162: I/dalvikvm(19715): at com.app.sampleApp.ExampleHandler.characters(ExampleHandler.java:346)

01-20 12:44:22.162: I/dalvikvm(19715): at org.apache.harmony.xml.ExpatParser.text(ExpatParser.java:167)

01-20 12:44:22.162: I/dalvikvm(19715): at org.apache.harmony.xml.ExpatParser.append(Native Method)

01-20 12:44:22.162: I/dalvikvm(19715): at org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:521)

01-20 12:44:22.162: I/dalvikvm(19715): at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:482)

01-20 12:44:22.162: I/dalvikvm(19715): at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:320)

01-20 12:44:22.162: I/dalvikvm(19715): at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:277)

01-20 12:44:22.162: I/dalvikvm(19715): at com.app.sampleApp.SplashScreen.parsing(SplashScreen.java:95)

01-20 12:44:22.162: I/dalvikvm(19715): at com.app.sampleApp.SplashScreen$FetchDataFromServer.doInBackground(SplashScreen.java:66)

01-20 12:44:22.162: I/dalvikvm(19715): at com.app.sampleApp.SplashScreen$FetchDataFromServer.doInBackground(SplashScreen.java:1)

01-20 12:44:22.173: I/dalvikvm(19715): at android.os.AsyncTask$2.call(AsyncTask.java:185)

01-20 12:44:22.173: I/dalvikvm(19715): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)

01-20 12:44:22.173: I/dalvikvm(19715): at java.util.concurrent.FutureTask.run(FutureTask.java:137)

01-20 12:44:22.173: I/dalvikvm(19715): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)

01-20 12:44:22.173: I/dalvikvm(19715): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)

01-20 12:44:22.173: I/dalvikvm(19715): at java.lang.Thread.run(Thread.java:1096)

01-20 12:44:22.173: I/dalvikvm(19715): "Binder Thread #2" prio=5 tid=6 NATIVE

01-20 12:44:22.173: I/dalvikvm(19715): | group="main" sCount=1 dsCount=0 s=N obj=0x44e7adc0 self=0x136b18

01-20 12:44:22.173: I/dalvikvm(19715): | sysTid=19720 nice=0 sched=0/0 cgrp=default handle=1277072

01-20 12:44:22.173: I/dalvikvm(19715): | schedstat=( 4379710 8487993 4 )

01-20 12:44:22.173: I/dalvikvm(19715): at dalvik.system.NativeStart.run(Native Method)

01-20 12:44:22.183: I/dalvikvm(19715): "Binder Thread #1" prio=5 tid=5 NATIVE

01-20 12:44:22.183: I/dalvikvm(19715): | group="main" sCount=1 dsCount=0 s=N obj=0x44e77130 self=0x132868

01-20 12:44:22.183: I/dalvikvm(19715): | sysTid=19719 nice=0 sched=0/0 cgrp=default handle=1271608

01-20 12:44:22.183: I/dalvikvm(19715): | schedstat=( 9087362 4814877 5 )

01-20 12:44:22.183: I/dalvikvm(19715): at dalvik.system.NativeStart.run(Native Method)

01-20 12:44:22.183: I/dalvikvm(19715): "JDWP" daemon prio=5 tid=4 VMWAIT

01-20 12:44:22.183: I/dalvikvm(19715): | group="system" sCount=1 dsCount=0 s=N obj=0x44e752a0 self=0x1245a0

01-20 12:44:22.183: I/dalvikvm(19715): | sysTid=19718 nice=0 sched=0/0 cgrp=default handle=1178336

01-20 12:44:22.183: I/dalvikvm(19715): | schedstat=( 13148782 23404684 16 )

01-20 12:44:22.183: I/dalvikvm(19715): at dalvik.system.NativeStart.run(Native Method)

01-20 12:44:22.183: I/dalvikvm(19715): "Signal Catcher" daemon prio=5 tid=3 VMWAIT

01-20 12:44:22.183: I/dalvikvm(19715): | group="system" sCount=1 dsCount=0 s=N obj=0x44e751e8 self=0x120298

01-20 12:44:22.183: I/dalvikvm(19715): | sysTid=19717 nice=0 sched=0/0 cgrp=default handle=1275872

01-20 12:44:22.192: I/dalvikvm(19715): | schedstat=( 650295 9179530 2 )

01-20 12:44:22.192: I/dalvikvm(19715): at dalvik.system.NativeStart.run(Native Method)

01-20 12:44:22.192: I/dalvikvm(19715): "HeapWorker" daemon prio=5 tid=2 VMWAIT

01-20 12:44:22.192: I/dalvikvm(19715): | group="system" sCount=1 dsCount=0 s=N obj=0x438b8d00 self=0x12efc0

01-20 12:44:22.192: I/dalvikvm(19715): | sysTid=19716 nice=0 sched=0/0 cgrp=default handle=1249312

01-20 12:44:22.192: I/dalvikvm(19715): | schedstat=( 92741950 1647777523 865 )

01-20 12:44:22.192: I/dalvikvm(19715): at com.android.internal.os.BinderInternal$GcWatcher.finalize(BinderInternal.java:~48)

01-20 12:44:22.192: I/dalvikvm(19715): at dalvik.system.NativeStart.run(Native Method)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值