二进制XML文件<第20行=“”>:使类<unknown> </unknown> </line>出错

时间:2014-06-07 09:13:26

标签: android xml android-layout

  

06-07 15:02:07.048:E / dalvikvm-heap(1657):9007416字节的外部分配对于此过程来说太大了。   06-07 15:02:07.098:E / GraphicsJNI(1657):VM不允许我们分配9007416字节

Screenshot

<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"
android:layout_gravity="top|left|right"
android:background="@drawable/bg"
tools:context=".MainActivity" >

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="50dp"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:src="@drawable/top_red_bar"
    android:layout_alignParentLeft="true"
    android:paddingLeft="0dp"
    android:scaleType="centerCrop" />

<ImageView
    android:id="@+id/imageView2"
    android:layout_width="wrap_content"
    android:layout_height="45dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_alignTop="@+id/imageView1"
    android:layout_centerHorizontal="true"

    android:src="@drawable/job_bar" />

<ImageView
    android:id="@+id/imageView3"
    android:layout_width="238dp"
    android:layout_height="50dp"
    android:layout_below="@+id/imageView1"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:layout_marginTop="123dp"
    android:src="@drawable/button" 
    android:alpha="0.85"
    android:onClick="myhandler"/>

<ImageView
    android:id="@+id/imageView4"
    android:layout_width="wrap_content"
    android:layout_height="50dp"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/imageView3"
    android:layout_marginTop="24dp"
    android:src="@drawable/button" 
    android:alpha="0.85"/>

<ImageView
    android:id="@+id/imageView5"
    android:layout_width="35dp"
    android:layout_height="45dp"
    android:layout_above="@+id/imageView4"
    android:layout_alignLeft="@+id/imageView3"
    android:layout_marginLeft="21dp"
    android:src="@drawable/employer" />

<ImageView
    android:id="@+id/imageView6"
    android:layout_width="50dp"
    android:layout_height="50dp"
    android:layout_alignLeft="@+id/imageView5"
    android:layout_alignTop="@+id/imageView4"
    android:src="@drawable/jobseekers" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/imageView5"
    android:layout_centerHorizontal="true"
    android:layout_marginLeft="18dp"
    android:layout_toRightOf="@+id/imageView6"
    android:text="Employer"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="#ffffff"
    android:textStyle="bold" />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView1"
    android:layout_alignTop="@+id/imageView4"
    android:text="Job Seekers"

    android:textAppearance="?android:attr/textAppearanceLarge"
    android:textColor="#ffffff"
    android:textStyle="bold" />


</RelativeLayout>

我的应用程序因错误声明Binary XML file <line 20>: Error inflating class <Unknown>而崩溃。 为什么会这样?谁有人能解决这个问题有趣的是,当我删除除背景之外的所有代码时,它的工作原理!

1 个答案:

答案 0 :(得分:0)

检查@drawable部分,即用于此布局的图像大小 - 解码位图时VM的内存不足。使图像尺寸更小。

修改

正如我从你的logcat看到的那样你正在泄漏资源(很可能是 Drawable 对象)。有关详细信息,请参阅tools in What Android tools and methods work best to find memory/resource leaks?