Комментарий Маркуса Мюллера верен, т. Е. Ваш код верен, за исключением выделения и инициализации отсутствующего пула.
Однако, если вы создаете автоматически выпущенный объект в подпрограмме / методе, и вы используете этот объект в этой подпрограмме / методе, и с этим покончено, прежде чем вы выйдете из этой подпрограммы / метода, то нет причин для сохранения это и затем выпустите это. Этот объект гарантированно будет сохраняться в течение всего срока действия подпрограммы / метода, и в этом случае он, скорее всего, будет освобожден методом [утечка пула].
У вас не будет ситуации, когда externalMost будет неожиданно выпущен. Ожидаемый выпуск находится в [сток бассейна]. Неважно, сколько других методов вызывается из main (), если вы придерживаетесь правил сохранения / выпуска, outerMost не нужно сохранять.