我的应用就像一张相册。在每个活动中都是一张图片,我可以通过按钮从一个活动转到下一个活动。我使用的图片是640x480,不大于150KB。但是,由于OutOfMemory-Error,应用程序经常停止工作。可能是Bitmaps太大了。我有什么要添加到我的代码中才能有效地添加大型Bitmaps?我甚至没有在我的Java代码中定义位图。它们只在XML代码中。我可能不得不在我的Java代码中写s.th.但是什么?
package com.example.xxx;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class PictureOne extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.pictureone);}
public void Picture0 (View view){
Intent i = new Intent(this, PageZero.class);
startActivity(i);}}
public void Picture2 (View view){
Intent i = new Intent(this, PageTwo.class);
startActivity(i);}}
XML-Code:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_centerInParent="true"
android:layout_marginLeft="14dp"
android:src="@drawable/pic1" />
<ImageView
android:id="@+id/imageView4"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:src="@drawable/left"
android:onClick="Picture0"/>
<ImageView
android:id="@+id/imageView4"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:src="@drawable/right"
android:onClick="Picture2"/>
</RelativeLayout>
答案 0 :(得分:0)
我相信您应该使用nostra的通用图像加载器,并且只查看图像,没有任何堆叠活动的点。您可以简单地使用查看寻呼机或图像翻转器。
答案 1 :(得分:0)
看看这个链接.. https://github.com/nostra13/Android-Universal-Image-Loader。 是的,你必须将nostra图像加载器作为一个库添加到你的android项目。
答案 2 :(得分:0)
要有效加载大型Bitmap,请参阅这篇文章: Loading Large Bitmaps Efficiently
从那里你可以看到:
为了避免java.lang.OutOfMemory异常,请在解码之前检查位图的尺寸,除非您完全信任该源为您提供可预测大小的图像数据,这些数据可以轻松地放入可用内存中。
Here是Android开发者关于显示位图的完整部分。
但是,您也可以尝试使用Picasso库,这对此非常有用。