当前位置: 首页 > 面试题库 >

android图像视图内存不足错误

荀正谊
2023-03-14
问题内容

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

这是我新活动的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);

}


 类似资料:
  • 问题内容: 我正在使用位图。它抛出内存不足错误(5次中的2次)。如何避免。 以下是我的代码 : 问题答案: 你得到的OutOfMemoryError因为你没有 那些你用 尝试那些你使用它们后

  • 问题内容: 在运行时,我试图将图像放置在表面视图中。当我尝试使用Drawable文件夹中的图像时,出现内存不足错误。在中快速搜索之后,我发现,如果我们从资产文件夹访问图像,将会有所缓解。但仍然在运行时出现内存不足错误。 我已经分析发现,扩展将有助于解决此类与内存相​​关的问题。问题是我的图像尺寸为1280 x 720,设备尺寸也相同。因此,我觉得缩放不会有任何效果。 由于我们在该社区中拥有专家,如

  • 我正在使用PDFBox从我的webapp中提取数据并将其放入PDF。我有一个方法,在每个PDF页面上绘制标题。但是,当我向每个页面添加图像时,文档的内存就会耗尽。我想知道有没有人有什么解决的办法?下面是我的drawHeader方法: public static void drawHeader(PDDocument doc,PDPage page,PDPageContentStream conten

  • 我在Android studio生成的视图绑定文件中遇到此错误。我已添加 到应用程序版本。gradle文件。

  • (所以我不会“finish();”一个应用程序。我会在用户交互之后用“startactivity(..);”开始下一个活动。) 所以在这三个活动中有一个循环。在每次活动中,我都会显示3-9张图片,这些图片位于SD卡上,我用以下功能加载SD卡: 这都管用。但有时(在循环几次我的活动之后),我的应用程序崩溃了…

  • 问题内容: 编辑: 在我的应用程序中,我正在主页上加载300多个图像。我曾经加载图像。我正在。 我在 manifest中 使用了true的 大堆 : 滑行版本: 设备/ Android版本: Nexus设备6.0版 我从Json获得的每个图像都会是800kb到1mb。 activity_layout: 适配器代码: adapter_layout.xml: Logcat: 我不知道如何解决此OOM问