我已經使用XmlPullParser
上的官方Android指南實現了一個簡單的XML解析器來解析一個非常簡單和簡短的XML文件(120行,10.5Kb)。在運行Android 4.1.1的我的HTC One X上,解析它需要幾分之一秒的時間。但在我的HTC Hero上運行Android 2.1,花了3分多鐘......爲什麼Android XmlPullParser在我的舊設備上真的很慢?
我知道2之間的硬件差別很大,但是3分鐘這麼小的文件呢?這是不可接受的...特別是自API1以來XmlPullParser已經可用,這樣做是沒有意義的。
爲了試着找出問題所在,我一步一步地完成了解析代碼。我注意到nextTag()
是需要很長時間才能處理的,其他一切看起來相當快。不知道如果這是唯一的問題或不...
任何想法,我該如何解決這個問題?
JIT(http://en.wikipedia.org/wiki/Just-in-time_compilation)? 2.1沒有它。 – Paul
@Paul我不確定這是什麼......我也測試了這兩個其他設備,包括ZTE Blade。一個運行Android 2.2股票,另一個運行Android 2.3.x的CyanogenMOD。他們都啓用了JIT,並且Feed仍然需要很長時間才能解析... –