伏特视图永远不会释放内存

时间:2016-01-16 22:53:27

标签: voltrb

初学者伏问题:-)。

我创建了一个简单的伏特应用程序,它从文件系统中提取随机图像 - 幻灯片放映。在服务器任务中检索图像数据(除了文件路径,我想要尺寸方向等,所以我使用ruby库)然后将其传递回主控制器。所以我在控制器中有一个方法(get_random_pic),它在页面上设置img路径等,以便在视图中使用img标签:

<img width="{{page._image_data[3]}}}}" src="{{page._image_data[0]}}">image</img>

(旁边:我正在使用一个数组来努力使值绑定“信号”同时到达 - 否则图像宽度会在不同的时间更新到图像路径 - 但是它仍然不能与图像路径同步阵列)

然后我在控制器中使用setTimeout再次调用get_random_pic方法(通过按钮)。

setTimeout(function(){ document.getElementById("myButton").click(); }, 5000);

这完全有效,但内存使用率永远不会停止增长(例如,20分钟后它将会增加2GB)。我认为这是因为每次在视图中加载图像时,前一个图像都是孤立的,GC无法运行。实际上我对JS的了解不足以说明为什么,也不是一个优雅的工作。也许我可以在控制器实例方法中加载图像,img标签直接引用二进制文件(而不是从文件系统中拉出文件路径),并且在每次迭代时我都可以将它设置为nil,但我希望有在我尝试之前,更好的解决方案。

0 个答案:

没有答案