그리기 앱을 만들고 있는데 실행 취소 다시 실행 기능을 성공적으로 구현했습니다. 하지만 이제 각 동작에 이미지를 저장하여 힙 메모리에 저장하려고하지만 OutOfMemory
으로 충돌이 발생합니다.Photoshop과 같은 Professional Drawing App에서 실행 취소 다시 실행을 위해 액션이 저장되는 방법은 무엇입니까?
그래서 전문적인 앱에 대한 설명이 필요합니다. 드로잉 할 때 프로페셔널 앱이 액션을 저장하는 방법?
그리기 앱을 만들고 있는데 실행 취소 다시 실행 기능을 성공적으로 구현했습니다. 하지만 이제 각 동작에 이미지를 저장하여 힙 메모리에 저장하려고하지만 OutOfMemory
으로 충돌이 발생합니다.Photoshop과 같은 Professional Drawing App에서 실행 취소 다시 실행을 위해 액션이 저장되는 방법은 무엇입니까?
그래서 전문적인 앱에 대한 설명이 필요합니다. 드로잉 할 때 프로페셔널 앱이 액션을 저장하는 방법?
"명령 디자인 패턴"을 검색하고있는 대상.
가 더 일반적으로 What is the Action Design Pattern?
또는 https://sourcemaking.com/design_patterns/command
또는 참조 : 어떤 경우에는 작업 수행에 대한 Google it
명령 개체 데이터를 포함해야
, 당신은 추가 데이터가 필요합니다 실행 취소 작업 (예 : 빨간색 사각형을 여러 픽셀에 칠하는 경우 같은 레이어의 픽셀 만 저장해야합니다. 이렇게하면 y를 요청할 수 있습니다. 각 작업마다 다른 작업 수행, 일부는 전체 이미지, 일부는 특정 레이어, 일부는 아무것도 저장하지 않고 이동할 수 있습니다. 새로운 레이어).
이것은 이미지 상태가 저장되는 방법에 실제로 응답하지 않습니다. –
명령 객체는 이미지의 상태를 참조하거나 이미지 유형에 대한 작업 유형을 저장할 수 있습니다. UNDO에 필요한 데이터 (예 : 페인팅하여 덮힌 블록). –
다양한 방법으로 구현할 수 있지만 예를 들어 이미지 전체를 저장하지 않고 이미지에 적용된 "동작"목록을 저장합니다. 예를 들어, "빨간 브러시 스트로크 (픽셀 1에서 픽셀 2)" –