RelativeLayout VS LinearLayout
在老版本的SDK中,创建一个默认的Android项目,系统默认创建的是LinearLayout作为activity_main.xml的根布局。而在新版本的SDK中,系统已经使用RelativeLayout来作为默认的根布局。其原因主要是因为RelativeLayout的布局能够使布局更加扁平,而LinearLayout通常需要进行嵌套使用,这样在布局深度上RelativeLayout更有优势。
但是RelativeLayout在进程测量时,大部分时间需要进行多次测量,才能确定子View的大小,特别是当RelativeLayout嵌套使用时,耗时将更为严重。而LinearLayout只有在使用weight属性后,才会发生两次测量。从这一点讲,LinearLayout的测量效率要高于RelativeLayout。
因此在实际开发中,决不能简单地说RelativeLayout、LinearLayout谁的性能更好,必须结合实际使用来进行分析。但一般来说,如果使用LinearLayout,则一定要保证层级不能太深;如果使用RelativeLayout,则需要尽量避免嵌套。
