Удаление ссылок на Java-объект в JPype
Я пытаюсь уничтожить Java-объект в JPype, чтобы сборщик мусора управлял пространством кучи, в настоящее время использование пространства кучи только продолжает расти, пока не будет выдана ошибка нехватки памяти. Я перераспределяю имя объекта внутри цикла, и кучи памяти достаточно для обработки любого конкретного выполнения итерации цикла.
Как правильно назначать null
Java-объект в JPype?
я пытался foo = None
а также del foo
в надежде, что они удалят ссылки по мере необходимости в виртуальной машине Java, но безрезультатно.
Редактировать:
Я выделил оскорбительные строки. Я неоднократно звоню
bar = jpype.JArray(jpype.JDouble, 1)(foo)
и каждый вызов, кажется, создает двойной объект без ссылки, который не удаляется.
Я подтвердил, что утечка памяти связана с двойными ссылками, на которые нет ссылок, которые не удаляются при анализе дампа памяти.
Любые предложения будут оценены.