1

무슨 일 이니? 따라서 이것은 메모리 관리 계획에 대해 묻는 질문이 아닙니다. 모르는 사람들을 위해 플래시 가상 머신은 참조 카운팅과 표시 및 스윕을 사용하여 가비지 컬렉션을 사용합니다 (이 주제를 잘 다룰 때는 Grant Skinner의 articlepresentation을 확인하십시오). 그리고 Flash는 "delete"연산자도 제공합니다.이 연산자는 동적 객체의 속성을 제거하는 데 사용할 수 있습니다 (불행히도).플래시를 '다른 사람들과 잘 어울리는 게임'으로 만드는 방법은 무엇입니까?

백그라운드에서 실행되는 동안 Flash 프로그램이 CPU 및 메모리를 계속 사용하지 않도록 만드는 방법을 알고 싶습니다 (예 : 콘텐츠로드 또는 원격 통신 제외). 이 질문에 대한 동기 부여는 부분적으로는 Apple이 iPhone OS 4의 핵심 기능인 behave as predicted with the multitasking을 사용하지 않는 이유로 크로스 컴파일 된 응용 프로그램 (SDK 4)을 금지 한 것입니다. 제 의도는 Flash 프로그램을 제작하여 'iPhone OS 4에서 멀티 태스킹에 이르기까지뿐만 아니라 더 나은 (행동) 플래시 프로그램을 만들기 위해서입니다.

플래시 응용 프로그램이 iPhone OS 4의 멀티 태스킹 기능을 어떻게 모방합니까? Flash API는 다른 프로그램이 실행되는 동안 개발자가 응용 프로그램을 '잠자기'상태로 만든 다음 신속하게 '깨우기'위한 수단을 제공합니까? 프로그램의 일시 정지에 (

var idle_id:uint = setInterval(4000, pause_program); 
var current_movie_clip:MovieClip; 
var current_frame:uint; 

... 

// on Mouse move or key press... 
clearInterval(idle_id); 
idle_id = setInterval(4000, pause_program); 

... 

function pause_program():void 
{ 
current_movie_clip = event.target as MovieClip; 
current_frame = current_movie_clip.currentFrame; 
MovieClip(root).gotoAndStop("program_pause_screen"); 
} 

: 사용자가 (예를 들어) 4 초 (어떤 마우스 동작이나 키 누름) 유휴 때 감지로 우리 자신의 프로그램에서

, 우리는 원유으로 뭔가를 할 수 화면)

resume_button.addEventListener(MouseEvent.CLICK, resume_program); 

function resume_program(event:MouseEvent) 
{ 
current_movie_clip.gotoAndPlay(current_frame); 
} 

올바른 생각이라면 응용 프로그램을 보관해야한다는 것을 감지하는 가장 좋은 방법은 무엇입니까?

그리고 더 중요한 것은 Flash Player가 실행중인 프로그램 중 일부가 유휴 상태인지 감지하고 사용자가 다시 시작하기 전까지 해당 프로그램을 보류 할 수 있습니까?

(많이 나 내가 제기 한 많은 질문의 적은 답변을 주시기 바랍니다.)

답변

1

기본적으로, 당신은 당신의 응용 프로그램이 포커스를 잃었을 때 찾아 Event.ACTIVATEEvent.DEACTIVATE를 사용할 수 있습니다.

그 외에는 순수한 애니메이션 이외의 용도로는 플래시 IDE를 사용하지 말고 프로그래밍 중심의 액션 스크립트 IDE를 사용하는 것이 좋습니다. Flash IDE는 효율성을 높이기 위해 설계된 것이 아니라 사용하기 쉽도록 설계되었습니다. 적절한 최적화를 위해서는 앱을 완벽하게 제어하기 위해 프로그래밍 방식으로 작업해야합니다.

iPhone과 관련해서는 아무 것도 아닙니다. 어도비가 아이폰에서 플래시를 얻을 수있는 방법을 찾아낸다면, 나는 그들의 추상화 레이어가 아이폰 OS와 가능한 한 잘 작동하도록 조정될 것이라고 생각한다. 네이티브 플래시 플레이어 구현의 내부 동작은 거대한 API 업데이트가 필요하고 새로운 opcode 및 레이어에 대한 직접적인 액세스가 필요하기 때문에 샌드 박스 환경에서 액세스 할 수 없어야합니다. 플래시 플레이어가 있습니다.

관련 문제