在 CF.NET 中创建大位图时出现 OutOfMemoryException

2023-12-10

我的紧凑框架应用程序通过将所有项目渲染到大位图表面,然后将该位图复制到屏幕上的偏移位置,以便仅显示适当的项目来创建平滑滚动列表。旧版本仅渲染当时应该出现在屏幕上的项目,但这种方法对于平滑滚动界面来说太慢了。

最初创建大位图时,它偶尔会生成 OutOfMemoryException。如果用户对设备执行软重置并再次运行应用程序,则可以毫无问题地执行创建。

看起来这个位图不是在程序内存中生成的,因为应用程序使用的程序内存量与新的平滑滚动方法之前的程序内存量大致相同。

有什么方法可以防止这种异常吗?有什么方法可以在抛出异常之前释放我需要的内存(无论它在哪里)?


我建议回到仅渲染部分数据的旧机制,因为完全渲染数据的大小显然是一个问题。为了帮助防止渲染问题,我可能会预先渲染当前视图上方和下方的几行,以便它们可以在有限的影响下“滚动”。

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

在 CF.NET 中创建大位图时出现 OutOfMemoryException 的相关文章

  • 如何缩小 Windows Phone 中的图像尺寸

    我正在尝试将我的应用程序移植到 Windows Phone 中 我必须在服务器上上传图像 所以它的尺寸很小为了上传我已经在Widows中成功完成了这件事 但问题是当我失败时 这是我的Windows应用程序代码 public void Com
  • 如何从位图中删除白色背景色

    我想删除位图中的白色背景颜色 Bitmap capcha new Bitmap C image jpg pictureBox1 Image capcha 但我想在我的 pictureBox1 中仅显示背景中存在的没有白色的图像 尝试在验证码
  • 在 Windows Mobile 上模拟键盘事件

    请参考下面的截图 日期时间控件是紧凑框架 DateTimePicker 编号按钮是标准按钮控件 单击 DateTimePicker 的箭头将显示一个日历控件 允许用户选择日期 但是 如果用户单击所选文本日期的任何部分 该部分就会突出显示 并
  • 从 Android 通知中的 URL 加载图像

    在我的 Android 应用程序中 我想动态设置将从 URL 加载的通知图标 为此 我使用了setLargeIcon中的NotificationBuilder的属性receiver 我参考了很多链接并尝试了各种解决方案 但无法获得所需的输出
  • gdi+ 中的半色调效果

    我该如何去模仿this http www juicybitssoftware com halftone GDI 中的半色调效果 它几乎看起来像弗洛伊德 斯坦伯格 http en wikipedia org wiki Floyd E2 80
  • GDI+ 性能技巧 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在画布的右上角绘制位图

    我正在尝试绘制位图top right hand corner of the Canvas 到目前为止我已经做了以下事情 100x40 dimensions for the bitmap bitmap BitmapFactory decode
  • 使用 GdiPlus 卸载 DLL 时程序挂起

    我有一个加载 DLL 的应用程序 它使用德尔福 GDI 库 http sourceforge net projects delphigdiplus 该应用程序在卸载 DLL 时挂起 调用免费图书馆 https msdn microsoft
  • 最初从位图泄漏未引用的 byte[] 但被回收()导致内存泄漏(直到活动停止)

    我有位图内存泄漏导致内存不足 我在 Android 5 0 三星 S5 上运行了测试 我已经使用 Android Studio 1 5 1 2 0 0 Preview 7 调查了这个问题 HPROF 内存转储显示有多个 byte 与我暂时使
  • GDI+ 中绘图坐标的硬界限是什么?

    我这样渲染插值曲线 e Graphics DrawLines new Pen Color Red interpolationPoints ToArray 有时会抛出 OverflowException 对 interpolationPoin
  • 绘制自定义 Windows 控件时出现问题

    我正在尝试使用 Windows 中的 uxTheme 库绘制自己的自定义控件 但我无法弄清楚为什么我的控件看起来不像常规 Windows 控件 据说 使用我正在使用的相同主题 上图显示了标准的 Windows ComboBox 顶部 和使用
  • Android 中使用黑白 alpha 蒙版的高效位图蒙版

    我想用黑白 alpha 蒙版来掩盖位图 我的蒙版图像是黑白的 黑色区域意味着透明 白色区域意味着不透明 我需要的是 当我使用此蒙版图像来蒙版任何其他图像时 如果蒙版图像的相应区域为黑色 则生成的图像区域应为透明 否则 生成的图像区域应该是不
  • Android 改变 ImageView / Bitmap 的颜色

    我需要找到一种方法来改变 Android 中位图的颜色 我需要在我的应用程序中平滑地替换 更改椭圆形图像的颜色 具体取决于int价值 我需要类似的东西myValue 5比改变我的图像的颜色RED and if myValue 322将颜色更
  • 使用 Matrix.setPolyToPoly 选择位图上具有 4 个点的区域

    我正在 Android 上使用位图 在使用 4 个点选择位图上的区域时遇到问题 并非所有 4 点组都适合我 在某些情况下 结果只是一个空白位图 而不是裁剪后的位图 如图所示 并且 logcat 中没有任何错误 甚至是内存错误 这是我用来进行
  • BitmapFactory.decodeResource() 忽略 jpg 图像的 inPreferredConfig 选项

    我尝试将jpeg资源图像加载到ARGB 8888格式的位图 BitmapFactory Options opts new BitmapFactory Options opts inPreferredConfig Bitmap Config
  • 从 Bitmap 类创建 .bmp 图像文件

    我创建了一个使用套接字的应用程序 客户端在其中接收图像并将图像数据存储在 Bitmap 类中 谁能告诉我如何创建一个名为我的图像 png or 我的图像 bmp来自此 Bitmap 对象 String base64Code dataInpu
  • 用C#发送USSD?

    我想编写一个在 Windows Mobile 6 上运行的简单 C 应用程序 它可以发送 USSD 消息 有没有任何图书馆可以帮助我做到这一点 或者是否有任何示例解释如何使用线路发送USSD http msdn microsoft com
  • view.getDrawingCache() 在 Android API 28 中已弃用

    在 Android API 28 中view getDrawingCache 已被弃用 是否有任何更新的解决方案来生成 android 中特定视图的位图 获取视图位图的两种方法 使用画布 使用像素 API Canvas Java Bitma
  • 在wince上用c#静默运行命令行程序

    我再次需要一些帮助 我使用 net Compact Framework 和编程语言 C 来为运行 WinCE 5 0 的移动设备进行开发 我想要完成的是以编程方式安装网络驱动器 为此 应用程序在后台线程中运行以下代码 ProcessStar
  • 为什么这个位图图像在加载后会改变大小?

    快速提问 我有这个1000 1000位图图像 我使用这个例程来加载它 private BitmapSource initialBitmap new BitmapImage new Uri C Users Desktop Original b

随机推荐

  • 在 Visual Studio Code 中调试 Python 时如何使用“跳转到光标”调试器命令

    Python调试器支持跳转命令来设置下一行执行 在 VS Code 中调试 Python 代码时可以使用此功能吗 vscode v1 36 增加了这个 跳转到光标 功能 参见调试 跳转到发行说明中的 光标 跳转到光标处 我们添加了一个新的调
  • 初始化 2D 对象数组时出现空指针异常 [Java]

    我正在尝试制作 2D 图块游戏 在制作保存图块的数组时 我收到 NullPointerException 这里是一些代码 抱歉 如果格式不正确 第一次 公开课世界 holds data for where to place images a
  • 有任何代码/库可以缩小 UIImage 吗?

    是否有任何代码或库可以帮助我缩小图像 如果你用iPhone拍照 它的像素大约是2000x1000 这对网络不太友好 我想将其缩小为 480x320 有什么提示吗 这就是我正在使用的 效果很好 我肯定会关注这个问题 看看是否有人有更好 更快的
  • Ember — 观察记录的创建/删除

    假设我有 2 组独立的控制器 模型 Dog and Cat 现在 每当我创建新的Cat记录 或删除现有的 我想要Dog控制器观察记录的创建 删除以及新记录的创建 删除Cat记录已创建我希望它触发一些操作 例如console log Bark
  • JOINS、EXISTS 或 IN 哪个更好?关于SQL的几个问题

    我有几个关于 SQL 的问题 如何分析一个人的表现 询问 任何内置软件 MSSQL Server 2005 2008 的功能 应该用什么来代替in在查询中这样性能更好 例如 选择 来自查询 课程 在哪里 查询 ID 输入 从查询中选择 en
  • 如何从 otf 或 ttf 文件获取字体名称?

    我在之前的应用程序中使用了自定义字体 文件名是 ProximaNova Regular otf 并加载我刚刚使用的字体 UIFont fontWithName ProximaNova Regular size 20 这非常有效 现在在这个新
  • java jaxb 是如何工作的?

    只是好奇 jaxb 是如何工作的 我有一个注释如下的类 XmlRootElement name MyJaxb Class MyJaxb XmlElement protected String str public void setStr S
  • 如何获取.NET Core 2.0中登录用户的用户ID?

    我使用 NET Core 和 MVC 创建了一个 Angular 2 应用程序 我想知道用户的登录ID 如何在 net core中获取用户的登录ID 这是我的第一个角度应用程序 我使用以下链接开始https blogs msdn micro
  • 通过增强现实寻找餐馆和旅游景点

    在我的应用程序中 我想使用增强现实来查找家庭餐馆等地方 我想要做的是 当我启动应用程序时 相机打开 然后我想找到相机方向的位置 例如 我启动应用程序 我面向东方 手机键盘面向我 即西方 然后是东方向的地方 我已经编写了一些启动相机的代码 请
  • 如何正确地将事件附加到jqGrid“列选择器”的“关闭对话框”?

    我在正确使用 jqGrid 的列选择器插件 小部件的关闭对话框事件时遇到一些问题 这就是我所拥有的 我从 jqGrid 初始化开始 最后附加了列选择器 如下所示 ticketsTable tableWrap jqGrid url datat
  • ASP.NET MVC - 服务器软件要求?

    我今天刚刚了解了 asp net mvc 我想知道服务器端需要什么来托管它 我想是 IIS 6 及更新版本 和 NET 3 5 您还需要什么吗 来自 MSDN 如何 部署 ASP NET MVC 应用程序 基本上你需要 NET 3 5 Sy
  • RoR 4 中带有验证的正则表达式

    有如下代码 class Product lt ActiveRecord Base validates title description image url presence true validates price numericalit
  • 将 Identity 2.0 函数移至存储库类

    我在我的应用程序中使用 Identity 2 0 并希望将数据功能移动到存储库层 例如以下代码 public class ApplicationDbInitializer DropCreateDatabaseIfModelChanges
  • 如何避免列表之间出现双边框?

    我正在使用列表视图 其中有一个引用可绘制 列表的 xml 如下所示
  • 如何启动 Android GCM 令牌刷新?

    根据docs 保护客户端应用程序和应用程序服务器免受潜在恶意攻击 重复使用注册token 应定期发起token 从服务器刷新 当 GCM 注册令牌刷新时 从服务器端启动 客户端应用程序必须处理 tokenRefreshed 消息与 GCM
  • 如何正确启动 Angular Universal 到实时服务器

    我通过修改此处找到的通用启动器种子来设置和工作网站 https github com angular universal starter我已经让我的网站在 localhost 节点服务器上工作 呈现 HTML 现在我已经安装了 SSH 连接
  • jQuery fullCalendar 和 qTip

    我正在考虑使用 fullCalendar 并使用 qTip 使用 eventMouseover 显示描述 有没有人设法做到这一点或知道解决方案 我已经谷歌搜索并尝试实施这个帖子但我没有任何快乐 我唯一一次让它工作时它陷入了循环并导致我的浏览
  • 可选择注入内容脚本

    内容脚本可以通过在扩展清单文件中声明以编程方式或永久注入 程序注入需要主机权限 通常由浏览器或页面操作授予 在我的用例中 我想注入 gmail outlook com 和 yahoo 邮件网站 而无需用户操作 我可以通过声明所有这些清单来做
  • 在 C++ 中以编程方式设置 Firemonkey 控件字体

    我有一个自定义 Firemonkey 控件 它扩展了TEdit这是在表单上动态创建的 我试图在创建它时设置它的字体大小 Search gt Font gt Size 15 但是 控件上的字体保持不变 我有另一个相同类型的控件 该控件已经在表
  • 在 CF.NET 中创建大位图时出现 OutOfMemoryException

    我的紧凑框架应用程序通过将所有项目渲染到大位图表面 然后将该位图复制到屏幕上的偏移位置 以便仅显示适当的项目来创建平滑滚动列表 旧版本仅渲染当时应该出现在屏幕上的项目 但这种方法对于平滑滚动界面来说太慢了 最初创建大位图时 它偶尔会生成 O