我遇到了似乎是内存泄漏的问题。当我运行我的代码时,内存使用量不断增加,直到应用程序崩溃。
我一直在使用 GC.start 来确保删除所有未使用的对象。我也在使用 ObjectSpace 模块来追踪罪魁祸首,但我无法理解发生了什么。
在此文件https://www.dropbox.com/s/0j75ylcsj3rs0ro/Log_1.txt中,我记录了 ObjectSpace count_objects 的输出。该命令的第一个输出在一个大的 for 循环之前。在每个循环结束时,我使用 GC.start。据我所见,在 for 循环期间对象的总数保持不变,但应用程序使用的内存不断增加。
代码的精简版本位于此链接https://www.dropbox.com/s/5fnludxurs1ljy8/Shading.rb