这是我的问题:我有一个包含 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 个图像。我的问题是我需要使用什么样的适配器来确定需要加载的图像以及执行此操作的一般设置,或者它们是否不太复杂可以完成相同的事情。