2009-11-27 5 views
0

프로그램의 스트레스/성능 테스트 중에 메모리 할당에 문제가 있습니다. 테스트에서 나는 동일한 리소스 세트를 반복해서로드/언로드하려고했습니다. 내가 얻은 오류는 "오류, # 1000, 메모리 부족"이었습니다. 스택 트레이스는 약 URLLoader/onCompleteURLStream/readBytes입니다. 나는 실패 할 때 사용 된 메모리를 확인했다. 그것은 프로그램이 이전에 사용한 최대량보다 적었다. 나는 그것이 시간을 통해 사용되는 메모리가 꽤 일관성 (자원을로드 할 때 할당, 할당을 해제, 할당 ...) 때문에 메모리 누수로 인한 것 같지 않아요 또한,이 문제는 좀 무작위로 발생합니다. 나는 꼼짝 못한다. 어떤 제안?ActionScript의 메모리 문제

답변

2

플렉스 빌더를 사용하는 경우 flex 프로파일 러를 사용하여 다양한 객체에서 사용되는 메모리를 더 잘 이해할 수 있습니다.

0

Windows 용 ProcessExplore 또는 Mac 용 활동 모니터와 같은 간단한 기능으로 메모리 사용량을 모니터링 할 수도 있습니다. 모두 리소스를로드/언로드하는 중이고 리소스의 수명을 올바르게 관리하고있어 (예 : 리스너 제거, 가비지 수집 가능 등), 매우 일관된 피크/밸리 메모리 그래프가 나타납니다. 메모리가 계속해서 증가하면 누출이 발생합니다. 비트 맵 데이터가 플래시 메모리 누출의 주범이되는 경향이 있으므로로드/언로드하는 리소스가 비트 맵인 경우 특히주의하십시오. 행운을 빕니다!

+0

플래시의 내부보고를 사용하는 것이 더 좋습니다. 플래시가 완료되면 플래시가 메모리를 OS로 반환하지는 않습니다. – grapefrukt

+0

아마도 ...하지만 OS 메모리 프로파일 러를 사용하면 뻔뻔한 메모리 누출이 발견되어 시작할 수있는 좋은 장소가 될 수 있습니다. Flex 프로필러를 사용하면 문제를 발견하는 것이 가장 좋습니다.하지만 Amarghosh와 동의합니다. – heavilyinvolved