相对基本的布局导致了大量的OOM异常?

时间:2014-05-02 20:21:29

标签: android android-layout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".DetailsActivity" >

    <LinearLayout
        android:id="@+id/header_box"
        android:layout_width="fill_parent"
        android:layout_height="180dp"
        android:background="@drawable/header_details"
        android:gravity="center_vertical"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_horizontal" >

            <TextView
                android:id="@+id/details_name"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_marginBottom="10dp"
                android:layout_marginTop="10dp"
                android:text="Username"
                android:textAppearance="?android:attr/textAppearanceLarge"
                android:textColor="#ffffff" />

            <ImageView
                android:id="@+id/flag_iv"
                android:layout_width="16dp"
                android:layout_height="fill_parent"
                android:layout_gravity="center_vertical"
                android:layout_marginLeft="3dp"
                android:scaleType="fitCenter"
                android:src="@drawable/ic_launcher" />

        </LinearLayout>

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="80dp"
            android:layout_height="80dp"
            android:layout_gravity="center_horizontal|center_vertical"
            android:src="@drawable/details_no_image" />

        <TextView
            android:id="@+id/details_age"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginBottom="10dp"
            android:layout_marginTop="10dp"
            android:text="Age"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="#ffffff" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/header_box"
        android:gravity="center_horizontal"
        android:orientation="vertical" >

        <View
            android:id="@+id/divider"
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:background="?android:attr/listDivider" />

        <LinearLayout
            android:id="@+id/submit_layout"
            style="@style/ButtonBar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:descendantFocusability="beforeDescendants"
            android:minHeight="48dp"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/details_copy"
                style="@style/ButtonBarButton"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/selectable_item_background"
                android:minHeight="48dp"
                android:text="Copy name and open KIK!" />
        </LinearLayout>

        <View
            android:id="@+id/seek_divider_2"
            android:layout_width="fill_parent"
            android:layout_height="1dp"
            android:background="?android:attr/listDivider" />

        <Button
            android:id="@+id/details_copy_old"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="25dp"
            android:text="Copy name and open KIK"
            android:visibility="gone" />

        <TextView
            android:id="@+id/details_desc"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:layout_marginRight="20dp"
            android:layout_marginTop="35dp"
            android:gravity="center_horizontal"
            android:maxWidth="500dp"
            android:text="dffsdfisdojfijsadifojisdofjisdjfiosdjoifjiadjfiojsadiofjisad"
            android:textStyle="italic" />
    </LinearLayout>



</RelativeLayout>

上面的布局似乎一直是Crashlytics面板中很多错误报告的来源!特别针对“内存不足异常”

另外:

Unable to start activity ComponentInfo{com.broakenmedia.kfriendfinder/com.broakenmedia.kikfriendfinder.DetailsActivity}: android.view.InflateException: Binary XML file line #42: Error inflating class <unknown>

请在崩溃地址网址下方找到完整的堆栈跟踪。

http://crashes.to/s/fc83bf45168

我尝试尽可能优化布局,并且已为每个设备密度正确制作了所有图像资源。不知道除了这个我能做些什么!

1 个答案:

答案 0 :(得分:0)

这是失败的:

android.graphics.BitmapFactory.nativeDecodeAsset (BitmapFactory.java)

如果您没有管理资产的大小,则会出现Bitmap内存问题。如果您提供的资产太大,则需要对其进行下采样(或者只是将实际资产缩小)。谷歌对位图内存管理进行了大量的撰写here