【发布时间】:2015-04-12 18:32:55
【问题描述】:
我正在创建一个 Android 应用程序 (Android Studio),它显示一个垂直滚动视图,其中包含许多文本视图和图像视图(一页上大约 40 个)。请参阅下面的 .xml 文件。此代码仅显示其中 3 个重复模式,但我的代码包含更多 - 删除这些以减少本文的长度。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/smiles_background"
tools:context="com.mobilewebanalytiq.forkshappyhour.monday">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Search by Day"
android:id="@+id/tvnumber"
android:layout_gravity="right"
android:layout_marginTop="5dp"
android:layout_marginRight="10dp"
android:textColor="#ff000000" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Monday"
android:id="@+id/tvday"
android:textSize="30dp"
android:textColor="#ff000000"
android:layout_marginLeft="10dp" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/scrollView3" >
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Large Text"
android:id="@+id/textView401"
android:layout_marginTop="10dp"
android:layout_gravity="center_horizontal"
android:textSize="30dp" />
<ImageView
android:layout_width="300dp"
android:layout_height="300dp"
android:id="@+id/imageView401"
android:layout_gravity="center_horizontal"
android:src="@drawable/sunday1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Large Text"
android:id="@+id/textView402"
android:layout_marginTop="10dp"
android:layout_gravity="center_horizontal"
android:textSize="30dp" />
<ImageView
android:layout_width="300dp"
android:layout_height="300dp"
android:id="@+id/imageView402"
android:layout_gravity="center_horizontal"
android:src="@drawable/sunday2" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Large Text"
android:id="@+id/textView403"
android:layout_marginTop="10dp"
android:layout_gravity="center_horizontal"
android:textSize="30dp" />
<ImageView
android:layout_width="300dp"
android:layout_height="300dp"
android:id="@+id/imageView403"
android:layout_gravity="center_horizontal"
android:src="@drawable/sunday3" />
//This will continue on for many lines
</LinearLayout>
</ScrollView>
</LinearLayout>
正如预期的那样,当我打开此页面时,应用程序会崩溃。重新设计此 .xml 以使应用程序不再崩溃的最佳方法是什么?我应该使用不同的布局还是有办法优化这段代码?如您所见,我正在从@drawable 文件夹中提取信息,但也许使用其他位置会有所帮助。 .java 文件在下面供参考。感谢您的详细帮助!
package com.mobilewebanalytiq.forkshappyhour;
import android.app.Activity;
import android.os.Bundle;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ViewFlipper;
import android.view.GestureDetector;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.MotionEvent;
/**
* Created by Matt on 2/8/2015.
*/
public class monday extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.monday);
}}
【问题讨论】:
-
为什么不使用列表视图而不是滚动视图?您的
OutOfMemory错误是因为您的图像视图使用的位图。
标签: android out-of-memory scrollview lazy-loading vertical-scrolling