我有一个来自我的android应用程序的错误消息,它使用卡片视图和回收视图,我认为分配图像的大小和分辨率的问题,这是错误消息:
这是我的卡片布局XML文件:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/card_view"
android:layout_margin="5dp"
card_view:cardBackgroundColor="#81C784"
card_view:cardCornerRadius="12dp"
card_view:cardElevation="3dp"
card_view:contentPadding="4dp"
android:foreground="?selectableItemBackground"
android:clickable="true" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp" >
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/item_image"
android:scaleType="fitXY"
android:adjustViewBounds="true"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"/>
<TextView
android:layout_marginTop="8dp"
android:id="@+id/item_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center"
android:textSize="16pt"
android:paddingLeft="10dp"
android:layout_below="@+id/item_image"
/>
</RelativeLayout>
</android.support.v7.widget.CardView>
您可能正在内存中加载一个大位图,它会导致内存溢出异常。
为避免java. lang.OutOfMemory异常,请在解码位图之前检查位图的尺寸。
您必须执行以下步骤来处理它-
从这里找到如何执行上述步骤-https://developer.android.com/topic/performance/graphics/load-bitmap.html
或者您使用可以为您完成所有这些的图像加载库。
有许多可用的库:Glide、Picasso、Fresco、UIL