只有在调试应用程序时才会发生(我使用IntelliJ 12 Ultimate),否则它在仿真器和设备上都能快速运行。
此代码(在AsyncTask
方法中的doInBackground
类中调用)
rss
=包含~40k字符的字符串
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
StringReader reader = new StringReader(rss);
InputSource is = new InputSource(reader);
Document doc = db.parse(is); //here it hangs
使用设置在Android模拟器上花费一分钟:
API: lvl 15
CPU / ABI: ARM(armsabi-v7a)
Sd卡: 100 MiB
快照:已启用
皮肤:内置WVGA800
的设备:
在我的 HTC One X 设备上:
CPU四核 1,5 GHz
记忆: 16GB
RAM: 1GB
dalvik.vm.heapsize=128m
dalvik.vm.heapgrowthlimit=64m
它立即起作用
通常我都知道模拟器速度较慢 - 特别是在AMD CPU上运行时,我仍然想确定它是否是模拟器的问题,或者我的解析方法不合适。
更新: 正如我在开头标记的那样 - 它只在调试时发生,因此看起来更像是模拟器问题......