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

Android 相对基本的布局导致大量OOM异常?,android,android-layout,Android,Android Layout,上面的布局似乎一直是我的Crashlytics面板中大量错误报告的来源!专门针对“内存不足异常” 此外: <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="m

上面的布局似乎一直是我的Crashlytics面板中大量错误报告的来源!专门针对“内存不足异常”

此外:

<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>
无法启动活动组件信息{com.broakenmedia.kfriendfinder/com.broakenmedia.kikfriendfinder.DetailsActivity}:android.view.InflateException:二进制XML文件行#42:膨胀类时出错
请在下面的crashlytics URL上找到完整的stacktrace

我已经尽可能地优化了布局,所有的图像资源都已针对每个设备密度正确制作。我不知道除了这个我还能做什么

这里失败了:

android.graphics.BitmapFactory.NativeDecodeset(BitmapFactory.java)


如果不管理资产的大小,则会出现位图内存问题。如果您提供的资产太大,则需要对其进行下采样(或者只是将实际资产缩小)。谷歌对位图内存管理有着相当广泛的研究。

我看不出我还能比现在更优化吗?我将所有位图都加载到一个小得离谱的大小来尝试解决这个问题,我也倾向于通过让“Square’s”毕加索加载我的整个图像集来避免下载/创建位图,它提供了重新采样和磁盘缓存。看起来崩溃发生在运行Android 2.3.5的Galaxy S2上。如果您已经在使用毕加索并对所有位图进行下采样,我不知道还有什么可以做。设备上的内存问题甚至更严重。您可以尝试检测操作系统是否为2.x,并进一步进行下采样。似乎绝大多数都在安卓4.3上!所以我不知道我是否在某个地方碰到了一个错误,在这一点上,我确实似乎没有什么可以做的,我只是讨厌这样离开!我不相信是布局本身造成了问题。我要看一下DetailsActivity.java第67行,还有,您使用的图像有多大?
Unable to start activity ComponentInfo{com.broakenmedia.kfriendfinder/com.broakenmedia.kikfriendfinder.DetailsActivity}: android.view.InflateException: Binary XML file line #42: Error inflating class <unknown>