【发布时间】:2013-08-01 19:58:39
【问题描述】:
这是我的问题:我有一个包含 28 个垂直滚动图像的“图库”,加载时出现内存不足错误。为了克服这个问题,我正在尝试遵循本指南:http://developer.android.com/training/displaying-bitmaps/cache-bitmap.html 对所有图像进行缓存,然后使用适配器确定哪些图像实际上在屏幕上,并且仅在需要时加载那些图像。这是我的 xml 布局的一部分:
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView"
android:background="@drawable/background7">
<TableLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:divider="?android:attr/dividerHorizontal"
android:showDividers="middle">
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:divider="@color/Black"
android:showDividers="end"
android:layout_marginBottom="-35dp"
android:weightSum="100">
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:id="@+id/image1"
android:layout_column="1"
android:src="@drawable/plane1"
android:layout_weight="50"
android:clickable="true"
android:longClickable="true"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Boeing 757-200"
android:id="@+id/textView"
android:layout_column="5"
android:layout_marginTop="75dp"
android:layout_marginLeft="10dp"
android:layout_weight="50"
android:textStyle="bold"
android:textColor="#000"/>
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="-35dp"
android:weightSum="100">
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:id="@+id/image2"
android:layout_column="1"
android:src="@drawable/plane2"
android:layout_weight="50"/>
<TextView
android:textStyle="bold"
android:textColor="#000"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="C-17"
android:id="@+id/textView"
android:layout_column="5"
android:layout_marginTop="75dp"
android:layout_marginLeft="10dp"
android:layout_weight="50"/>
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginBottom="-35dp"
android:weightSum="100">
<ImageView
android:layout_width="200dp"
android:layout_height="200dp"
android:id="@+id/image3"
android:layout_column="1"
android:src="@drawable/plane3"
android:layout_weight="50"/>
<TextView
android:textStyle="bold"
android:textColor="#000"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Cessna Citation Sovereign"
android:id="@+id/textView"
android:layout_column="5"
android:layout_marginTop="75dp"
android:layout_marginLeft="10dp"
android:layout_weight="50"/>
</TableRow>
每个 TableRow 是一个不同的图像,并且它延续到 28 个图像。我的问题是我需要使用哪种适配器来确定需要加载的图像以及执行此操作的一般设置,或者它们是否不太复杂,可以完成同样的事情。
【问题讨论】:
标签: android image memory adapter