【发布时间】:2012-06-28 16:00:59
【问题描述】:
在开发 Android 应用程序时,我们正在为单个应用程序创建许多 XML 文件;当然是android的主旋律。对于应用程序的每个屏幕,我们都在创建一个带有一些布局(静态实现)的 XML。在执行中,每次都会读取 XML 文件以获取它想要显示我们设计的屏幕的所有资源。
同样的设计可以通过在java代码本身中添加几行来实现(动态实现)。例如,我们可以扩展 ListActivity 而不是创建 XML 文件。那么为什么要使用XML,因为应用程序需要从手机内存中读取文件,这可能会导致访问速度变慢并导致应用程序变慢?
所以,动态的实现总是比静态的好。
如果我错了,请纠正我。
【问题讨论】:
-
我找不到它的来源,但我认为 XML 资源文件在编译时被解析为优化的数据结构(类似于 AST),可以由系统快速加载和解释.我不认为加载这些预处理的 XML 文件是一个很大的开销。您是否对 onCreate() 和 onGlobalLayout() 之间的时间进行了基准测试?其他事情通常是性能问题。像 HTTP 请求、过于复杂(嵌套)的布局、不重用可重用的对象等。
-
@NobuGames :您是对的 - XML 布局文件在构建时进行了预处理。我从未见过 UI 呈现缓慢的情况,如果 OP 出现延迟,那么正如您所建议的,这可能是由于代码中的其他内容减慢了主线程的速度。
-
so, android:text="@string/mytext" 和 textview.setText("Hello");在性能方面没有太大区别,对。请注意,XML (main.xml) 再次读取另一个 XML 文件 (string.xml)。
标签: android xml android-xml