我一直在努力解决我的应用程序中令人讨厌的ANR问题,它会加载SurfaceView。最初我在Activity中创建了Java:
mSurfaceView msv = new mSurfaceView(this);
//set params etc.
myLayout.add(msv);
然后我决定切换到XML并将所有内容布局在XML文件中,然后只是查找ViewById(...),ANR似乎已经消失了。
我的问题是:XML加载速度比使用Java快吗?
答案 0 :(得分:0)
永远不会在运行时读取XML文件。它们在编译时转换为二进制格式。我假设在此转换期间进行了一些优化,这使得布局相对较快地膨胀。我认为XML布局比在代码中执行更快。 XML布局和代码中的布局编程并不是一对一的,我注意到有时使用XML的错误是通过在Java代码中进行布局来解决的。