out-of-memory相关内容
我正在开发一个使用 ORM greendao 的 Android 项目.它允许我一次(在一个事务中)将多个实体(显然是对象)插入数据库.在实践中有一种方法 插入或替换InTx(...) 它接受一个集合作为参数,给定一个对象列表.问题是我的列表有大约 12000 个对象,并且插入不时会导致 OutOfMemory 异常.我正在考虑一种解决问题并防止未来OOM的聪明方法.我想到的唯一想法是
..
最近我在尝试链接我的程序时遇到问题.它报告 .text 不能放入指定的内存区域.显然,源代码太大而无法在有限的内存区域内链接. 我现在要做的是分析哪个文件对“.text"部分的贡献最大,以便可以执行后续代码优化.我尝试了很多方法,但没有成功. nm -s output.elf 给出每个符号的大小,但不要在每个源文件下将符号分组. nm -s file.obj 遍历每个目标文件不起作用
..
在将 XML 中的流传输到 XmlReader 时出现内存不足异常!查看内存分析器,我们可以看到它一遍又一遍地调用 StringBuilder.Append 导致大量 128KB 缓冲区填满所有内存. 这与“流媒体"完全相反.它不应该加载超过一个 4KB 的缓冲区. 解决方案 通读 .NET 源代码,发现有一种“v1compat"模式确实会提前阅读,从而违背了流式传输的目的.那么,你
..
我编写了一个使用流无限生成素数的函数(维基百科:Erastothenes 的增量筛选).它返回一个流,但它也在内部合并素数倍数流以标记即将到来的复合.这个定义简洁、实用、优雅且易于理解,如果我自己这么说的话: def primes(): Stream[Int] = {def merge(a: Stream[Int], b: Stream[Int]): Stream[Int] = {def nex
..
是否可以使用 System.Drawing.Image 的 FromStream 方法而不必在图像的生命周期内保持流打开? 我有一个应用程序,它使用 Image.FromStream 和 Assembly.GetManifestResourceStream. 我遇到的问题是,虽然这在 Windows 7 上运行良好,但在 Windows XP 上,如果链接到这些图像之一的用户界面元素被
..
我正在我的应用程序中处理 100 万条记录,这些记录是从 MySQL 数据库中检索到的.为此,我使用 Linq 获取记录并使用 .Skip() 和 .Take() 一次处理 250 条记录.对于每个检索到的记录,我需要创建 0 到 4 个项目,然后将其添加到数据库中.因此,必须创建的 Item 总数平均约为 200 万个. IQueryableobjectCollection = dataCon
..
我的项目中有一个上传文件方案.当我尝试上传大文件时,它给了我 OutOfMemory 错误.该错误与 Java 堆大小有关. 如何增加 Java 中的堆大小,为此我需要更改哪个文件?我正在使用 jboss 5.1 服务器来运行我的应用程序. 解决方案 您可以按照通常的方式将其设置为 JVM 参数,例如-Xms1024m -Xmx2048m 最小堆为 1GB,最大堆为 2GB.JBos
..
我经常在 PermGen 中检测到我的环境的 OOM: Java 6 jboss-4.2.3 不是一个大型的网络应用程序 我知道 String.intern() 问题 - 但我没有足够的有价值的用法.增加 MaxPermGen 大小并没有太大影响(从 128 Mb 到 256 Mb). 还有哪些原因可以为 PermGen 调用 OOM?在这种情况下,哪种调查方案是最好的(策略
..
我正在使用位图.它抛出内存不足错误(5 次中有 2 次).怎么可能避免. 以下是我的代码: bitmap = android.provider.MediaStore.Images.Media.getBitmap(cr, imageUri);photo_new=rotateImage(位图,90);ByteArrayOutputStream 流 = new ByteArrayOutputS
..
我在我的应用程序中为 Android 使用了我自己的 ViewFlow 示例实现.我正在从网络服务下载加密图像,然后将它们保存在 SD 卡上.我正在使用视图流来动态解密图像并显示它们.但问题是,当用户开始太快地更改图像时,它会向我抛出 OutOfMemoryException 并且我发现/测试的所有信息都不适用于我的情况.这是我正在使用的: @Overridepublic View getVi
..
我使用下面的代码连接两个图像,但它抛出一个 OutOfMemory 错误,我的图像每个大约 1MB. 私有位图overlayMark(字符串第一,字符串第二){位图 bmp1、bmp2;bmp1 = BitmapFactory.decodeFile(first);bmp2 = BitmapFactory.decodeFile(second);if (bmp1 == null || bmp2 ==
..
即使您已经尝试了一些减少内存使用的方法,捕获 OutOfMemoryError 是否是一个好习惯?或者我们应该只是不捕捉异常?哪种做法更好? 尝试{BitmapFactory.Options options = new BitmapFactory.Options();options.inSampleSize = 4;位图 = BitmapFactory.decodeFile(file, opti
..
我使用 for 循环下载一组图像并将其转换为位图图像.所以为了避免 OutOfMemory 错误,我试图回收位图.但不幸的是,我遇到了另一个异常,比如 “查看尝试使用回收位图". 但我仍然可以使用 bitmap=null 将使用过的位图归零.所以我的问题是,让我的位图 null 帮助我释放已用的内存吗?或者我应该在代码的其他部分提供 bitmap.recycle() 吗? 解决方案
..
我的代码代码是: public Bitmap loadPhoto(Uri uri) {位图缩放=空;尝试 {调用 = Bitmap.createBitmap(MediaStore.Images.Media.getBitmap(getContentResolver(), uri),0,0,90, 90);if (scaled == null) { return null;}} catch(Exce
..
我正在尝试编写一个轻量级的图像查看应用程序.但是,.NET 存在系统内存限制. 尝试加载大型位图(9000 x 9000 像素 或更大,24 位)时,出现 System.OutOfMemoryException.这是在具有 2GB RAM(其中 1.3GB 已用完)的 Windows 2000 PC 上进行的.尝试加载文件也需要花费大量时间. 以下代码生成此错误: Image ima
..
我已经阅读了很多关于解码位图内存分配问题的相关帖子,但使用官网提供的代码仍然无法找到解决以下问题的方法. 这是我的代码: public static Bitmap decodeSampledBitmapFromResource(InputStream inputStream, int reqWidth, int reqHeight) {ByteArrayOutputStream baos
..
我正在开发一个安卓应用程序.该应用程序有一个包含大量图像的视图.我有一个错误,我会尽量提供尽可能多的信息,希望有人能给我一些建议. 该应用程序在所有本地测试中都运行良好.但是,我收到了很多来自用户的崩溃:java.lang.OutOfMemoryError:位图大小超出 VM 预算 这是堆栈跟踪 0 java.lang.OutOfMemoryError: 位图大小超出 VM 预算1
..
每当我调用 UploadActivity.java 时,我都会收到 java.lang.OutOfMemoryError 第 176 行是: 位图 bm = BitmapFactory.decodeFile(strPath); 查看我的日志: 12-07 17:57:10.585: E/AndroidRuntime(16708): 致命异常: main12-07 17:57:10.58
..
我在处理高分辨率图像时遇到问题. 我对 1280x720 图像使用 nodpi-drawable 文件夹,并使用此代码对其进行缩放. public static Drawable scaleDrawable(Drawable d, int width, Activity cxt){BitmapDrawable bd = (BitmapDrawable)d;double oldWidth =
..
我有一个包含 3 个活动的 Android 应用: A1 --开始--> A2 --开始--> A3 --当他的进程结束时:开始-->A1 (所以我不会“完成();"一个应用程序.我在用户交互后的整个时间都用“startActivity(..);"开始下一个活动) 所以在这 3 个活动中有一个循环.在每个活动中,我显示 3-9 张图片,位于 SD 卡上,我使用以下功能加载: 试
..