#97에서 추가한 SnapStateStore는 WindowUndoStore의 구조를 그대로 따랐는데, clear(for:pid:)만 호출부가 없다.
현황
WindowUndoStore.clear(for:pid:) — undo 복원이 직전 frame에 도달했을 때 소비한 항목을 지우는 데 실제로 쓰인다(WindowCommandExecutor).
SnapStateStore.clear(for:pid:) — 호출부 없음.
스냅 상태 무효화는 FrameCalculator.isAlreadySnapped가 기록된 frame과 현재 frame을 대조하는 방식으로 이뤄진다. 즉 창이 외부에서 움직이면 기록이 남아 있어도 판정에서 무시되므로 동작상 문제는 없다. 디스플레이 재구성 시에는 clearAll()이 호출된다(AppDelegate).
판단 필요
- 제거 — 무효화가 frame 대조로 충분하다면 미사용 API를 두지 않는다.
- 유지/배선 — 명시적으로 지워야 할 지점이 있다면 연결한다. 후보: 비-스냅 명령 성공 후, 또는 undo 후. 다만 둘 다 frame 대조로 이미 무효화되므로 실익은 크지 않다.
LRU 용량이 64라 미사용 항목이 쌓여도 메모리는 상한이 있다(보안 리뷰에서 확인). 순수 정리 항목.
#97에서 추가한
SnapStateStore는WindowUndoStore의 구조를 그대로 따랐는데,clear(for:pid:)만 호출부가 없다.현황
WindowUndoStore.clear(for:pid:)— undo 복원이 직전 frame에 도달했을 때 소비한 항목을 지우는 데 실제로 쓰인다(WindowCommandExecutor).SnapStateStore.clear(for:pid:)— 호출부 없음.스냅 상태 무효화는
FrameCalculator.isAlreadySnapped가 기록된 frame과 현재 frame을 대조하는 방식으로 이뤄진다. 즉 창이 외부에서 움직이면 기록이 남아 있어도 판정에서 무시되므로 동작상 문제는 없다. 디스플레이 재구성 시에는clearAll()이 호출된다(AppDelegate).판단 필요
LRU 용량이 64라 미사용 항목이 쌓여도 메모리는 상한이 있다(보안 리뷰에서 확인). 순수 정리 항목.