【问题标题】:TextView and RelativeLayout onMeasure called a lotTextView 和RelativeLayout onMeasure 调用了很多
【发布时间】:2012-06-04 22:45:02
【问题描述】:

我正在使用 traceview 来尝试优化我的代码。我注意到 TextView.onMeasure() 和 RelativeLayout.onMeasure() 被调用了很多,我试图看看是否有任何方法可以优化它。在我的 ListAdapter 中,我已经在使用 ViewHolders,检查 currentView 是否为空,正如各种 google talk/Romain Guy 所建议的那样。 Here is a screenshot of my costly functions in traceview.

下面是我在列表中的布局代码,以证明它并不复杂。

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="178dp"
    android:background="@color/Transparent"
    android:clickable="true" >
    <RelativeLayout
        android:id="@+id/Holder"
        android:layout_width="147dp"
        android:layout_height="178dp"
        android:layout_centerInParent="true"
        android:background="@color/Transparent" >
        <ImageView 
            android:id="@+id/userIcon"
            android:layout_width="141dp"
            android:layout_height="141dp"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="1dp"
            android:background="@color/Transparent" />
        <RelativeLayout
            android:id="@+id/userInfoSection"
            android:layout_width="143dp"
            android:layout_height="35dp"
            android:layout_below="@id/userIcon"
            android:layout_centerHorizontal="true"
            android:background="@color/Black" >
            <Button
                android:id="@+id/MenuButton"
                android:layout_width="31dp"
                android:layout_height="25dp"
                android:layout_alignParentRight="true"
                android:scaleType="fitCenter"
                android:src="@drawable/btn_menu" />
            <TextView
                android:id="@+id/Name"
                android:layout_width="100dp"
                android:layout_height="17dp"
                android:layout_alignParentTop="true"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="3dp"
                android:layout_toLeftOf="@id/MenuButton"
                android:singleLine="true"
                android:ellipsize="end"/>
            <TextView
                android:id="@+id/Age"
                android:layout_width="39dp"
                android:layout_height="14dp"
                android:layout_below="@id/Name"
                android:layout_marginRight="20dp"
                android:layout_toLeftOf="@id/MenuButton"
                android:singleLine="true"
                android:ellipsize="end"
                style="@style/Text.Default" />
            <TextView
                android:id="@+id/Location"
                android:layout_width="30dp"
                android:layout_height="14dp"
                android:layout_below="@id/Name"
                android:layout_alignParentLeft="true"
                android:layout_marginLeft="3dp"
                android:layout_toLeftOf="@id/Price"
                android:singleLine="true"
                android:ellipsize="end"
                style="@style/Text.Default" />
        </RelativeLayout>
    </RelativeLayout>
    <ImageView
        android:id="@+id/loading_indicator"
        android:contentDescription="@string/imageView_caption_loading"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="115dp"
        android:layout_marginTop="5dp"
        android:src="@drawable/loading_indicator"
        android:visibility="gone" />
</RelativeLayout>

任何帮助将不胜感激,谢谢。

【问题讨论】:

    标签: android android-layout android-widget


    【解决方案1】:

    尝试使用线性布局或框架布局,它们比相对布局更有效。 同时,我也对TextView感到困惑

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多