【问题标题】:imageview crashing the activity for memory issuesimageview 因内存问题而使活动崩溃
【发布时间】:2015-11-09 00:16:34
【问题描述】:

我在 imageview 上有 3 张图片,一张在另一张之上。我已将 3 个图像放在 res/drawable 上并将它们设置在 xml 上。当我开始活动时它崩溃了。当我更改 xml 上的可绘制源并仅使用其中 2 个时,它不会崩溃。但是当我使用所有 3 个时,它又崩溃了。这些图像每个为 4.8kb,但它会使内存崩溃。有什么想法吗?

这是 3 个 ImageView 之一:

<ImageView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/Img_FundoVerde"
    android:src="@drawable/fundoverde"
    android:layout_marginTop="45dp"
    android:scaleType="fitXY" />

fundoverde 是 png 图像,表示绿色背景,我也有黄色和红色。

无法发布 logcat。

非常感谢。

【问题讨论】:

  • 它们的像素大小是多少?
  • 在这里发布“fundoverde”
  • fundoverde.png 为 413x609 像素
  • 你是如何让图片一个接一个地出现的?
  • 显示您的活动代码、崩溃日志和图片。

标签: android memory imageview


【解决方案1】:
<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:paddingLeft="0dp"
android:paddingRight="0dp"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="0dp"
tools:context="com.example.calebe.riscozero.Dados"
android:background="#A2A2A2">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="DISTÂNCIAS DE SEGURANÇA"
    android:id="@+id/Txt_DadosTitulo"
    android:layout_centerHorizontal="true"
    android:textSize="20dp"
    android:textStyle="bold"/>

<ImageView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/Img_FundoVerde"
    android:src="@drawable/fundoverde"
    android:layout_marginTop="45dp"
    android:scaleType="fitXY" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/Txt_DadosTitulo"
    android:layout_marginTop="40dp"
    android:id="@+id/Txt_Desabrigado"
    android:textSize="20dp"
    android:text="DESABRIGADO"
    android:layout_centerHorizontal="true"
    android:textStyle="bold"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/Txt_Desabrigado"
    android:layout_marginTop="5dp"
    android:id="@+id/Txt_DesabrigadoDetalhes"
    android:textSize="10dp"
    android:layout_centerHorizontal="true"
    android:layout_marginLeft="35dp"
    android:layout_marginRight="35dp"
    android:gravity="center"
    android:text="Distância mínima para pessoas em área aberta ou na direção de janelas de vidro e outros potenciais fragmentos"  />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/Txt_DesabrigadoDetalhes"
    android:layout_marginTop="10dp"
    android:id="@+id/Txt_DesabrigadoValor"
    android:textSize="30dp"
    android:layout_centerHorizontal="true"
    android:gravity="center"
    android:text="370m"
    android:textStyle="bold"/>

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/Img_FundoAmarelo"
    android:layout_below="@+id/Txt_DesabrigadoValor"
    android:src="@drawable/fundoamarelo"
    android:layout_marginTop="10dp"
    android:scaleType="fitXY"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/Txt_DesabrigadoValor"
    android:layout_marginTop="20dp"
    android:id="@+id/Txt_Abrigado"
    android:textSize="20dp"
    android:text="ABRIGADO"
    android:layout_centerHorizontal="true"
    android:textStyle="bold"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/Txt_Abrigado"
    android:layout_marginTop="5dp"
    android:id="@+id/Txt_AbrigadoDetalhes"
    android:textSize="10dp"
    android:layout_centerHorizontal="true"
    android:layout_marginLeft="35dp"
    android:layout_marginRight="35dp"
    android:gravity="center"
    android:text="Distância mínima para pessoas em área aberta ou na direção de janelas de vidro e outros potenciais fragmentos"  />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/Txt_AbrigadoDetalhes"
    android:layout_marginTop="10dp"
    android:id="@+id/Txt_AbrigadoValor"
    android:textSize="30dp"
    android:layout_centerHorizontal="true"
    android:gravity="center"
    android:text="370m"
    android:textStyle="bold"/>

<ImageView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/Img_FundoVermelho"
    android:layout_below="@+id/Txt_AbrigadoValor"
    android:src="@drawable/fundoverde"
    android:layout_marginTop="10dp"
    android:scaleType="fitXY"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/Txt_AbrigadoValor"
    android:layout_marginTop="20dp"
    android:id="@+id/Txt_Operacional"
    android:textSize="20dp"
    android:text="OPERACIONAL"
    android:layout_centerHorizontal="true"
    android:textStyle="bold"/>

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/Txt_Operacional"
    android:layout_marginTop="5dp"
    android:id="@+id/Txt_OperacionalDetalhes"
    android:textSize="10dp"
    android:layout_centerHorizontal="true"
    android:layout_marginLeft="35dp"
    android:layout_marginRight="35dp"
    android:gravity="center"
    android:text="Distância mínima para pessoas em área aberta ou na direção de janelas de vidro e outros potenciais fragmentos"  />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/Txt_OperacionalDetalhes"
    android:layout_marginTop="10dp"
    android:id="@+id/Txt_OperacionalValor"
    android:textSize="30dp"
    android:layout_centerHorizontal="true"
    android:gravity="center"
    android:text="370m"
    android:textStyle="bold"/>

<Button
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Voltar"
    android:id="@+id/Btn_Voltar"
    android:layout_alignParentBottom="true"
    android:layout_alignParentEnd="true"
    android:layout_marginBottom="25dp"/>

【讨论】:

    【解决方案2】:

    这是我在活动中使用的图片: Green Yellow [红色][3]

    【讨论】:

      【解决方案3】:

      我认为你删除了 android:src="@drawable/fundoverde" 并设置代码:Img_FundoVerde.setImageBackround

      【讨论】:

      • 它们在灰色背景之上。
      【解决方案4】:

      这似乎是一些内存问题。唯一对我有用的解决方案是将图像与 PhotoPaint 上的背景合并。所以这是替代方案,但不是真正的内存解决方案。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多