Layout memory leak (Android Studio)

I found a strange memory leak in one of the XML layout files in my application and I don't know how to fix it. Here is my layout code:

<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="com.deliciouslymad.tsukasa.critterbytes.screen.EnteredDungeonActivity">

    <ImageView
        android:id="@+id/background"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:background="@drawable/background"/>

    <Button
        android:id="@+id/next_room"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:background="@drawable/scanbtn"
        android:text="Next Room"/>

    <Button
        android:id="@+id/menu_button"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="75dp"
        android:layout_height="50dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_marginRight="5dp"
        android:background="@drawable/button"
        android:text="Exit"/>

    <TextView
        android:id="@+id/room_number"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/next_room"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="57dp"
        android:text="#"/>

    <TextView
        android:id="@+id/dungeon_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="30dp"
        android:text="dungeon name"
        android:textSize="16sp"/>

    <TextView
        android:id="@+id/dungeon_loot"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="25dp"
        android:layout_marginTop="225dp"
        android:textIsSelectable="true"/>

    <Button
        android:id="@+id/loot_ok_btn"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="60dp"
        android:layout_height="50dp"
        android:layout_below="@+id/dungeon_loot"
        android:layout_centerHorizontal="true"
        android:background="@drawable/button"
        android:text="OK"
        android:visibility="invisible"/>

    <ImageView
        android:id="@+id/fieldView"
        android:layout_width="350dp"
        android:layout_height="wrap_content"
        android:layout_above="@+id/next_room"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="140dp"
        android:layout_marginTop="50dp"
        android:adjustViewBounds="true"
        android:scaleType="fitXY"
        android:background="@drawable/forest_field"/>

    <ImageView
        android:id="@+id/transition"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:background="@drawable/transition"
        android:visibility="invisible"/>

    <ImageView
        android:id="@+id/battleWarning"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:background="@drawable/battle_warning"
        android:visibility="invisible"/>

</RelativeLayout>

      

It's ok until I add the last three elements: Field, Transition, and Battle. As far as I can tell, they are set up similar to the ImageView background (making them the same doesn't matter). The background ImageView only adds a few kilobytes to memory, while the other three add 25MB ~ to my memory. The drawings themselves are really small (less than 5 kb).

I have fully commented everything related to these three ImageViews in my java files, so it has nothing to do with it. The memory spike only happens when I add ImageViews to the XML file.

Any help would be greatly appreciated.

+3


source to share





All Articles