gpt4 book ai didi

java - android ImageView 内存不足错误

转载 作者:行者123 更新时间:2023-11-29 09:36:47 25 4
gpt4 key购买 nike

在我的 Android 项目中,我有 imageButton,点击它后,它必须打开带有 imageView 的新 Activity,在我的新 Activity 中,我必须只看到 ImageButton 的大字体图像,我的图像大小是 17mb,我得到了内存不足错误。但我的代码适用于尺寸较小的图像。有人可以帮助调整图像大小或更改一些位图选项或以其他方式提供建议吗?我是 android 的新手,抱歉英语不好:)

这是我的新 Activity 的 XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:id="@+id/LL11"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Here must be an image">
</TextView>

<ImageView
android:id="@+id/imageView1"
android:maxWidth="10px"
android:maxHeight="10px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:src="@drawable/ic_action_search" />

</LinearLayout>

和java代码

package com.example.example;

import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.ImageView;

package com.example.example;

import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.ImageView;

public class ActivityTwo extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.custom_dialog);
Bundle extras = getIntent().getExtras();
String path = extras.getString("path");
if(null != path)
{
Uri myUri = Uri.parse(path);
super.onCreate(savedInstanceState);
ImageView img1 = (ImageView) findViewById(R.id.imageView1);
img1.setImageURI(myUri);

}
}
}

最佳答案

在您的代码中,从 if(null != path) 开始更改为此

int size = 10; //minimize  as much as you want
if(path != null){
Bitmap bitmapOriginal = BitmapFactory.decodeFile(pathath);
Bitmap bitmapsimplesize = Bitmap.createScaledBitmap(bitmapOriginal,bitmapOriginal.getWidth() / size, bitmapOriginal.getHeight() / size, true);
bitmapOriginal.recycle();
img1.setImageBitmap(bitmapsimplesize);

}

关于java - android ImageView 内存不足错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12250300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com