在Android App上显示多个图像

时间:2013-10-20 07:13:14

标签: java android xml android-layout

我创建了一个包含10个TextView框的Android应用程序,我给每个人提供了不同的背景。当我在我的设备上运行应用程序时,如果我使用10种不同的背景,它会崩溃。如果我只使用8个不同的背景来填充10个TextView框,该应用程序工作正常。为什么会发生这种情况,我该如何解决?

编辑: 很抱歉没有添加代码,但下面是xml文件。请注意,我将每个TextView的背景从img1添加到img10。如果我在我的设备上加载它,程序将崩溃。如果我将img9更改为img7并将img10更改为img7,那么它将正常工作。我无法弄清楚为什么会发生这种情况,我检查了尺寸。它们最多不超过16MB。

所以,请原谅我的无知。我是Android应用程序创建的新手,但我发现抛出了OutOfMemory异常。这不会使尺寸,b / c我的图像都低于100 KB。

<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:background="#8ad0e8"
    tools:context=".Adamantium1" >

    <LinearLayout
        android:id="@+id/linearLayout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="0dp"
        android:layout_marginTop="0dp"
        android:weightSum="3" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="fill_parent"
            android:layout_height="90dp"
            android:layout_weight="1"
            android:gravity="center"
            android:textSize="60sp"
            android:background="@drawable/img1"
            android:textStyle="bold"
            android:text="9" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="fill_parent"
            android:layout_height="90dp"
            android:layout_weight="1"
            android:gravity="center"
            android:textSize="60sp"
            android:textStyle="bold"
            android:background="@drawable/img2"
            android:text="9" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="fill_parent"
            android:layout_height="90dp"
            android:gravity="center"
            android:textSize="60sp"
            android:textStyle="bold"
            android:background="@drawable/img3"
            android:layout_weight="1"
            android:text="9" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/linearLayout1"
        android:layout_below="@+id/linearLayout1"
        android:layout_marginLeft="0dp"
        android:layout_marginTop="0dp" >

        <TextView
            android:id="@+id/textView4"
            android:layout_width="fill_parent"
            android:layout_height="90dp"
            android:gravity="center"
            android:textSize="60sp"
            android:textStyle="bold"
            android:background="@drawable/img4"
            android:layout_weight="1"
            android:text="9" />

        <TextView
            android:id="@+id/textView5"
            android:layout_width="fill_parent"
            android:layout_height="90dp"
            android:layout_weight="1"
            android:gravity="center"
            android:textSize="60sp"
            android:textStyle="bold"
            android:background="@drawable/img5"
            android:text="9" />

        <TextView
            android:id="@+id/textView6"
            android:layout_width="fill_parent"
            android:layout_height="90dp"
            android:layout_weight="1"
            android:gravity="center"
            android:textSize="60sp"
            android:textStyle="bold"
            android:background="@drawable/img6"
            android:text="9" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/linearLayout2"
        android:layout_below="@+id/linearLayout2"
        android:layout_marginLeft="0dp"
        android:layout_marginTop="0dp" >

        <TextView
            android:id="@+id/textView7"
            android:layout_width="fill_parent"
            android:layout_height="90dp"
            android:layout_weight="1"
            android:gravity="center"
            android:textSize="60sp"
            android:textStyle="bold"
            android:background="@drawable/img7"
            android:text="9" />

        <TextView
            android:id="@+id/textView8"
            android:layout_width="fill_parent"
            android:layout_height="90dp"
            android:layout_weight="1"
            android:gravity="center"
            android:textSize="60sp"
            android:textStyle="bold"
            android:background="@drawable/img8"
            android:text="9" />

        <TextView
            android:id="@+id/textView9"
            android:layout_width="fill_parent"
            android:layout_height="90dp"
            android:layout_weight="1"
            android:gravity="center"
            android:textSize="60sp"
            android:textStyle="bold"
            android:background="@drawable/img9"
            android:text="7" />
    </LinearLayout>

    <EditText
        android:id="@+id/editText1"
        android:layout_width="50dp"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView10"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp"
        android:ems="1"
        android:inputType="numberPassword" >

        <requestFocus />
    </EditText>

    <TextView
        android:id="@+id/textView10"
        android:layout_width="fill_parent"
        android:layout_height="90dp"
        android:layout_below="@+id/linearLayout3"
        android:layout_centerHorizontal="true"
        android:gravity="center"
        android:text="9"
        android:textSize="60sp"
        android:background="@drawable/img10"
        android:textStyle="bold" />

    <Button
        android:id="@+id/EnterPass"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="90dp"
        android:layout_height="40dp"
        android:layout_alignBottom="@+id/editText1"
        android:layout_marginLeft="21dp"
        android:layout_toRightOf="@+id/editText1"
        android:text="Enter" />

</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

可能是你的图片太大而无法在android中的每个应用程序堆中保存,这在4.2中是16 MB。
可能的解决方案是减小图像大小。
这是我在此处发布的问题中可以判断的最佳信息。