Android SDK offers to developers to write layouts in xml files or directly in java code. I have read about it and everyone says that xml are easier to maintain and simplyer to write, but they are static. Otherwise java layout are dynamic, but no one comments performance issues. The only one thing which I found about performance was nesting layout have negative impact of performance. Instead of writing nested layout it’s better to make custom one. So far so good ;).
What about layout design? xml or java code? How are xml files parsed my android, at runtime or compile time? Even if they are parsed at compile time, they should be used in runtime. So which will be faster to declare RelativeLayout in xml or to declare it in onCreate method?
A layout defines the visual structure for a user interface, such as the UI for an activity or app widget. You can declare a layout in two ways:
Declare UI elements in XML. Android provides a straightforward XML
vocabulary that corresponds to the View classes and subclasses, such
as those for widgets and layouts.
Instantiate layout elements at runtime. Your application can create
View and ViewGroup objects (and manipulate their properties)
programmatically.
The Android framework gives you the flexibility to use either or both of these methods for declaring and managing your application’s UI. For example, you could declare your application’s default layouts in XML, including the screen elements that will appear in them and their properties. You could then add code in your application that would modify the state of the screen objects, including those declared in XML, at run time.
The ADT Plugin for Eclipse offers a layout preview of your XML — with the XML file opened, select the Layout tab.
You should also try the Hierarchy Viewer tool, for debugging layouts — it reveals layout property values, draws wireframes with padding/margin indicators, and full rendered views while you debug on the emulator or device.
The layoutopt tool lets you quickly analyze your layouts and hierarchies for inefficiencies or other problems.
When you compile your application, each XML layout file is compiled into a View resource. You should load the layout resource from your application code, in your
Activity.onCreate()callback implementation. Do so by callingsetContentView(), passing it the reference to your layout resource in the form of:I think its too much just visit this link http://developer.android.com/guide/topics/ui/declaring-layout.html and get more information..