如何解决Android显示图像时内存不足的问题?

2024-02-10

我正在开发一个测验应用程序。我在列表中显示问题和选项。我在顶部保留了一个“下一个”按钮,当单击“下一个”按钮时,我 一遍又一遍地调用同一页面,直到测试结束。由于有些问题由图像组成,我在问题下方显示一个按钮,单击该按钮时,图像将显示在新页面中。 现在我的问题是有时当我单击按钮来显示它正在显示的图像时outofmemory例外。

图像.java

public class image extends Activity {

    ImageView myimgview;
    ImageView buttondismiss;

    public static String image_url;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.image);

        Intent intent = getIntent();
        image_url = intent.getStringExtra(List.IMAGE_NAME);

        buttondismiss = (ImageView) findViewById(R.id.dismiss1);

        myimgview = (ImageView) findViewById(R.id.imageView100);

        int in = image_url.indexOf(".");
        String index = Integer.toString(in);
        String picturename = image_url.substring(0, in);

        int imageResource = getResources().getIdentifier(picturename,"drawable", "com.quiz.test");                                              // getPackageName());
        myimgview = (ImageView) findViewById(R.id.imageView100);
        myimgview.setImageResource(imageResource);

    }


}

Logcat:

08-18 11:11:01.063: E/AndroidRuntime(552): FATAL EXCEPTION: main
08-18 11:11:01.063: E/AndroidRuntime(552): java.lang.OutOfMemoryError
08-18 11:11:01.063: E/AndroidRuntime(552):  at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
08-18 11:11:01.063: E/AndroidRuntime(552):  at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:483)
08-18 11:11:01.063: E/AndroidRuntime(552):  at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:351)
08-18 11:11:01.063: E/AndroidRuntime(552):  at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:773)
08-18 11:11:01.063: E/AndroidRuntime(552):  at android.content.res.Resources.loadDrawable(Resources.java:1937)
08-18 11:11:01.063: E/AndroidRuntime(552):  at android.content.res.Resources.getDrawable(Resources.java:664)
08-18 11:11:01.063: E/AndroidRuntime(552):  at android.widget.ImageView.resolveUri(ImageView.java:542)
08-18 11:11:01.063: E/AndroidRuntime(552):  at android.widget.ImageView.setImageResource(ImageView.java:315)
08-18 11:11:01.063: E/AndroidRuntime(552):  at com.quiz.test.image.onCreate(image.java:48)
08-18 11:11:01.063: E/AndroidRuntime(552):  at android.app.Activity.performCreate(Activity.java:4465)
08-18 11:11:01.063: E/AndroidRuntime(552):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
08-18 11:11:01.063: E/AndroidRuntime(552):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919)
08-18 11:11:01.063: E/AndroidRuntime(552):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980)
08-18 11:11:01.063: E/AndroidRuntime(552):  at android.app.ActivityThread.access$600(ActivityThread.java:122)
08-18 11:11:01.063: E/AndroidRuntime(552):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146)
08-18 11:11:01.063: E/AndroidRuntime(552):  at android.os.Handler.dispatchMessage(Handler.java:99)
08-18 11:11:01.063: E/AndroidRuntime(552):  at android.os.Looper.loop(Looper.java:137)
08-18 11:11:01.063: E/AndroidRuntime(552):  at android.app.ActivityThread.main(ActivityThread.java:4340)
08-18 11:11:01.063: E/AndroidRuntime(552):  at java.lang.reflect.Method.invokeNative(Native Method)
08-18 11:11:01.063: E/AndroidRuntime(552):  at java.lang.reflect.Method.invoke(Method.java:511)
08-18 11:11:01.063: E/AndroidRuntime(552):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
08-18 11:11:01.063: E/AndroidRuntime(552):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
08-18 11:11:01.063: E/AndroidRuntime(552):  at dalvik.system.NativeStart.main(Native Method)

该错误显示在 myimgview.setImageResource(imageResource); 行。我不明白问题是什么。我在我的可绘制文件夹中保留了多达 400 张图像,因为我 我的项目中需要所有这些图像。有人请帮我解决这个问题。我正在为这个问题苦苦挣扎。任何帮助将不胜感激。


The OutOfMemory Error当某些图像可能太大而无法显示时,就会发生这种情况。

要解决这个问题,你可以这样做:

BitmapFactory.Options options=new BitmapFactory.Options();
options.inSampleSize = 8;
Bitmap preview_bitmap=BitmapFactory.decodeStream(is,null,options);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何解决Android显示图像时内存不足的问题? 的相关文章

  • 在 Android 上将视频设置为壁纸

    我想知道如何将视频设置为壁纸 否则不可能 我可以将图像设置为壁纸 并且可以构建动态壁纸 但无法将视频设置为壁纸 所以有人知道我该怎么做吗 提前致谢 我认为唯一可以做到的方法是将其合并到 动态壁纸 中 缺点是正如其他人提到的那样 这会严重影响
  • Android - 手机锁定时执行操作

    我想知道如何在手机锁定时执行某些操作 或继续侦听传感器或电池更换事件 当手机锁定时 它会停止监听传感器的变化 我尝试过使用唤醒锁 但它不起作用 也许我使用错误 任何帮助 将不胜感激 我建议为此使用服务 即使手机被锁定 它们也会在后台运行 这
  • 如何增加 Gradle 守护进程的最大堆大小?

    签署 apk 时 我收到以下消息 To run dex in process the Gradle daemon needs a larger heap It currently has 1024 MB For faster builds
  • 从 admob 独立 SDK 切换到 Google Play 服务 SDK 时,apk 大小会膨胀

    使用 Admob SDK 我的 apk 大小为 230Kb 当用 google play services SDK 替换 Admob SDK 时 它是 1 5MB 膨胀了 6 倍以上 我想完整的 Google Play 服务客户端 SDK
  • 在Android中打开浮动菜单(上下文菜单)?

    我创建了一个新菜单 名为 drmenu xml 当我按下菜单按钮时它可以正常工作 但是当用户按下按钮时我需要打开上下文菜单 下面的代码按钮只显示一个吐司 这是我的 xml 布局
  • Android 应用程序主活动出现 ClassNotFoundException

    大多数设备都可以运行我的应用程序 但我收到此错误报告 java lang RuntimeException Unable to instantiate activity ComponentInfo com company app com c
  • Android物理引擎[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在研究了 3D 游戏编程之后 很快就明白了为什么物理引擎非常有用 Android 支持哪些物理引擎并且可以在 Android 上使用 关于
  • 获取包含位图支持的画布的 Android 视图上的点的像素颜色值

    我正在尝试找出获取给定点上像素颜色值的最佳方法View http developer android com reference android view View html 我可以通过三种方式写入视图 我设置了背景图像View setBa
  • Android Studio 停留在构建 gradle 项目信息上

    我正在使用 Android Studio 2 3 每当我尝试创建一个新项目或打开某个项目时 它都会卡在此时 正在构建 Gradle 项目信息 请建议我一些解决方案 它可能正在下载 Gradle zip 文件 e g Users user g
  • Android TabLayout:均匀分布

    我正在查看 Google IO 中使用的 Google 类 称为 SlidingTabLayout 在该类中 有一个名为 setDistributeEvenly 的方法 它允许所有这些选项卡在屏幕上均匀分布 每个选项卡具有相同的大小 中心对
  • 错误:类 kotlin.reflect.jvm.internal.FunctionCaller$FieldSetter

    我已尝试一切方法来消除此错误 但它不断出现 Class kotlin reflect jvm internal FunctionCaller FieldSetter can not access a member of class com
  • 为什么 Android 上的免安装应用有两种设置?

    我使用的是运行 Android 11 的 Pixel 3 我发现有 2 种不同的设置可以控制免安装应用的某些方面 设置 应用程序和通知 默认应用程序 打开链接 即时应用程序 即使未安装 也打开应用程序中的链接 切换默认为开 Google P
  • 可下载字体例外

    我决定使用可下载字体 https developer android com guide topics ui look and feel downloadable fonts html在我的项目中 IS 按照指南中的建议实施了所有内容 当我
  • 谷歌的Json解析Gson库:JsonElement和JsonObject有什么区别?

    public abstract class JsonElement extends Object 表示 Json 元素的类 它可以是 JsonObject JsonArray JsonPrimitive 或 JsonNull public
  • 应用程序运行时相对布局中的元素显示不同

    我有一个ListView在片段内创建 并且它有一个搜索过滤器 问题是 XML 布局在 android studio 中显示正常 但在模拟器或手机中运行时 它显示不同 与我对齐时不正确 并且当我单击SearchView它位于选项卡导航下方 谁
  • Android Studio错误的含义:未注释的参数覆盖@NonNull参数

    我正在尝试 Android Studio 创建新项目并添加默认值后onSaveInstanceState方法创建 MyActivity 类 当我尝试将代码提交到 Git 时 我收到一个我不明白的奇怪错误 代码是这样的 我得到的错误是这样的
  • 安卓独立包

    我有一个很大的 UI 大约 20 25 个屏幕 我应该如何组织我的代码 我应该按功能分成不同的包吗 我是否应该为所有 UI 类创建一个包 然后创建子包进行组织 或者我不应该创建单独的包并组织到文件夹中 任何帮助将不胜感激 当您创建文件夹时
  • 如何在没有 OpenCv Manager 的情况下运行 OpenCV 代码

    我正在使用 OpenCV4Android 版本 2 4 10 并在 Samsung Galayx GT I9300 上测试我的代码 我遇到的问题是 我必须从 Play 商店下载 Opencv Manager 以便我的 opencv 代码运行
  • Android 布局仅使一个视图将自己绘制为横向,但其他所有视图都使用纵向

    我的活动布局中的主要视图元素是 VideoView 我的视频被渲染为设备的横向分辨率 但视频中的所有内容都是横向的 因此仍然需要在设备处于纵向位置时观看 即使我必须将活动设置为android screenOrientation landsc
  • Android:在surfaceview上实现admob

    我有一个使用 SurfaceView 的小游戏形式的活动 下面是代码片段 我很困惑如何在 SurfaceView 上实现 admob 请建议 public class DroidzActivity extends Activity priv

随机推荐

  • WPF 中某些情况下上下文菜单被剪切

    上下文菜单在不同的 NET Framework 中被截断 查看 ZIP 文件中的图像 有两张截图 一张来自 XP 另一张来自 Win7 我创建了一个简单的 Visual Studio 2010 解决方案来重现我的问题 http www me
  • 在 iOS 13 中连接到 NFCTagReaderSession NFCISO7816Tag 标签并发送命令

    我正在研究 iOS 13 中新提供的 NFCTagReaderSession 我突然连接了会话标签并发送 apdu 命令进行通信 当我调用 connect 属性时 在连接时 发出蜂鸣声 它看起来需要 15 秒才能连接 它会显示一条错误消息
  • Python嵌入

    我想要一个嵌入 Python 解释器和一个小脚本的大型二进制文件 我对整个静态链接 配置和制作以及 GCC 等完全陌生 请问 有人可以向我描述构建此类可执行文件的基本步骤吗 我使用的是 MacOS 10 6 我下载了 Python 3 3
  • Tensorflow 重塑张量

    我正在尝试使用tf nn sparse softmax cross entropy with logits我已遵循用户 Olivier Moindrot 此处 1 的回答 但出现尺寸错误 我正在构建一个分割网络 因此输入图像为 200x20
  • BLOB 如何存储在索引视图中?

    问题 假设我在包含以下内容的表上创建索引视图varbinary max 列 二进制内容是否会被物理复制到索引视图的 B 树中 或者原始字段是否会以某种方式 引用 而无需物理复制其内容 换句话说 如果我在包含 BLOB 的表上创建索引视图 是
  • 将日期时间转换为 24 小时格式

    我从服务器得到的时间就像Jul 27 2011 8 35 29 AM 我想将其转换为yyyy MM dd HH mm ss 我还希望转换后的时间采用 24 小时格式 任何人都可以解决这个问题 我想要得到的输出就像2011 07 27 08
  • 在 Mac OS X 上使用 libpng 编译 C 程序

    我有一个用 C 语言编写的使用 libpng 的小实用程序 在linux下 我只需安装libpng dev并执行 gcc myapp c usr lib libpng so o myapp 在 Mac OS X 中 我安装了 Xcode 工
  • Postgres 从左连接更新

    我是 PostgreSQL 的新手 正在尝试转换来自 SQL Server 的查询 我有一个用户表 其中包括 bUsrActive bUsrAdmin 和 sUsrClientCode 列 如果不存在具有相同 sUsrClientCode
  • 有没有快速的库可以在 Flash 中查找人的眼睛和嘴巴? (动作脚本)

    所以我有实时视频流 上面有 1 一 人 它是黑白的 我需要能够捕捉到这个人的眼睛和嘴巴 方向 至少X Y 状态 至少打开或关闭 那么在这种情况下 有没有快速的库可以在 Flash 中找到人的眼睛和嘴巴呢 纯 Actionscript 或 H
  • 使用 T-SQL 在时间序列数据中前向填充空值的有效方法

    我有一个包含时间序列数据的表 其中大部分为空值 我想用最后一个已知值填充所有空值 我有一些解决方案 但它们比同等的解决方案慢得多DataFrame fillna method ffill 在 Pandas 中进行操作 我正在使用的代码 数据
  • 使用适配器模式包装系统对象(文件、服务控制器等)与绕道进行单元测试相比有哪些优点?

    考虑以下停止服务的方法 Public Function StopService ByVal serviceName As String ByVal timeoutMilliseconds As Double As Boolean Try D
  • Openfire服务器,多个连接,route.all-resources不起作用

    We use http bind我们的聊天应用程序使用 BOSH 和 Openfire 3 8 2 作为后端 Strope 库 JS 作为前端 每个用户通过连接获得指定的唯一资源 这意味着用户可以同时登录不同的设备 浏览器 多个连接 例如
  • 为什么service层和dao层总是有单一的实现接口?

    我工作过 见过一些 spring hibernate Web 应用程序项目 它们具有与实际服务和 dao 类一样多的接口 我一直认为这两个是拥有这些单一实现接口的主要原因 Spring 可以将实际实现连接为给定类中的依赖项 松散耦合 pub
  • SVN控制共享虚拟机文件夹

    我在 Mac 上使用 subclipse 进行 SVN 结账 我希望能够与 Windows 7 中的 vmware 共享文件夹共享此文件夹 并使用 tortoiseSVN 在 VM 上 和 或 subclipse 在 Mac 上 执行更新
  • data-anchor-target 到底是做什么的?

    我正在使用 Skrollr 在很大程度上它看起来非常直观 让我感兴趣的一件事是 data anchor target 属性 大多数时候我不需要它 但当我查看一些示例时 它通常包含在内 我对它的作用感到困惑 这是否仅仅意味着在该目标下 Skr
  • 如何在Windows XP中安装延迟自动启动类型的服务

    我的安装程序在 Inno Setup 中使用以下命令创建服务 Filename sys sc exe Check IsAdminLoggedOn Parameters create Example start delayed auto bi
  • 为什么我的 asp:TreeView 选择的节点在 UpdatePanel 中时会重置?

    我有一个 asp net 2 0 页面 其中包含 2UpdatePanels 第一个面板包含一个TreeView控件 当我在三视图控件中选择一个节点时 它会触发第二个节点的更新UpdatePanel仅有的 这一切都表现正确 更新面板之外的页
  • iOS 7.0.3 启动时 SKProductsRequest 应用程序崩溃

    关于我们的应用程序崩溃的报告昨晚开始大量涌现 许多升级到 7 0 3 的用户在启动时都遇到了应用程序崩溃的情况 分析 itunes 崩溃日志 这是由于应用程序因启动时间过长而被杀死 显然 调用检查可用的应用内购买是导致崩溃的原因 我们取消了
  • 从 .csv 文件将数据导入表时在 SSIS 中制定规则

    我必须从包含用户记录的 csv 文件导入数据 我在这里面临的问题是验证是否存在所有必填字段 我需要检查所有行是否包含用户名 或其他一些值 我如何为这个问题制定规则 我是 SSIS 的新手 任何帮助表示赞赏 提前致谢 有条件的拆分将满足您的需
  • 如何解决Android显示图像时内存不足的问题?

    我正在开发一个测验应用程序 我在列表中显示问题和选项 我在顶部保留了一个 下一个 按钮 当单击 下一个 按钮时 我 一遍又一遍地调用同一页面 直到测试结束 由于有些问题由图像组成 我在问题下方显示一个按钮 单击该按钮时 图像将显示在新页面中