Android 深入研究layout优化
Android layout 的优化直接关系着程序是否快速运转,一下是开发过程中的几点建议:
1.尽量不要使用linelayout,使用relativelayout替换。android:layout_alignWithParentIfMissing只对relativelayout有用,如果那个视图设置为gone,这个属性将按照父视图进行调整。
2.对于使用adapter的控件,如list,使用递归太深的布局,会严重影响性能。3.对于textview和imageview组成的layout,直接使用textview替换(drawableTop类似属性)。
4.对于父layout是FrameLayout的,如果子layout也是FrameLayout,可以将FrameLayout替换为merge,这样可以减少一层递归深度。
<?xml version="1.0" encoding="utf-8"?>
<!--<FrameLayout-->
<!-- xmlns:android="http://schemas.android.com/apk/res/android"-->
<!-- android:layout_width="fill_parent"-->
<!-- android:layout_height="fill_parent">-->
<!-- <ListView android:id="@+id/list"-->
<!-- android:layout_width="fill_parent"-->
<!-- android:layout_height="fill_parent"/>-->
<!-- <TextView android:id="@+id/no_item_text"-->
<!-- android:layout_width="fill_parent"-->
<!-- android:layout_height="fill_parent"-->
<!-- android:gravity="center"-->
<!-- android:visibility="gone"/>-->
<!--</FrameLayout>-->
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<ListView android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
<TextView android:id="@+id/no_item_text"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:visibility="gone"/>
</merge>
<?xml version="1.0" encoding="utf-8"?>
<!--<LinearLayout-->
<!-- xmlns:android="http://schemas.android.com/apk/res/android"-->
<!-- android:orientation="vertical"-->
<!-- android:layout_width="fill_parent"-->
<!-- android:layout_height="fill_parent">--> <!-- -->
<!-- <ImageView android:id="@+id/softicon"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginTop="10dip"-->
<!-- android:layout_gravity="center"/>-->
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/softname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dip"
android:layout_gravity="center"
android:gravity="center"
android:drawableTop="@drawable/icon"/>
<!--</LinearLayout>-->
如有问题请留言,若转载注明出处。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。