我正在使用 Adobe Air 和他们的 HTML API 开发一个小型桌面应用程序。该应用程序有两个窗口,一个显示本地计算机文件夹中存在的图像幻灯片,另一个窗口允许您浏览这些图像(一个大图像和上一个/下一个按钮)。
首先进行快速测试,我只是将文件夹中的所有图像加载到每个窗口的 DOM 中,它工作得很好,直到我达到太多图像(150+),因为它们是来自 DSLR 的高分辨率 JPEG。显然,每个图像都占用了大量内存,并且可能会导致应用程序过度泄漏。所以我开始优化浏览窗口,而不是全部加载它们,我只使用一个标签并将 .src 值替换为 javascript。但是这种技术只是延迟问题,因为当我继续浏览所有图像时,内存使用量正在增长。替换镜像的 src 并不会释放上一个镜像使用的内存。如果我尝试从 DOM 中删除图像并重新创建它,同样的事情。
我有一个想法,但我不太喜欢它是在框架内显示图像,加载另一个 HTML 文件,将图像 src 作为参数传递给它。然后重新加载整个帧,希望它可以重置内存使用。还没试过。
任何人都知道如何处理这个问题?