【发布时间】:2010-09-22 19:11:03
【问题描述】:
我的紧凑框架应用程序通过将所有项目渲染到一个大的位图表面来创建一个平滑滚动列表,然后将该位图复制到屏幕上的偏移位置,以便仅显示适当的项目。旧版本只渲染当时应该出现在屏幕上的项目,但是这种方法对于平滑的滚动界面来说太慢了。
最初创建大位图时,它偶尔会生成 OutOfMemoryException。如果用户对设备执行软重置并再次运行应用程序,则可以毫无问题地执行创建。
看起来这个位图不是在程序内存中生成的,因为应用程序使用的程序内存量与新平滑滚动方法之前使用的程序内存量大致相同。
有什么方法可以防止这个异常吗?有什么方法可以在抛出异常之前释放我需要的内存(无论它在哪里)?
【问题讨论】:
标签: compact-framework gdi+ bitmap