2012-10-12 2 views
1

게임을 시작하기 전에 5MB의 HD 이미지 (iPad 용)를로드해야합니다. 로드 진행 중 어딘가에 충돌이 발생합니다. 음, 5MB 문제인지 확인하기 위해 대신 2.5MB의 LD 이미지 (iPhone 품질)를로드하려고했습니다. 괜찮 았어. 충돌은 없었어.5MB의 이미지로드 iPad가 깨졌습니다.

5MB 이상의 메모리를 예약 할 수 없다는 뜻입니까? 그것을 할 수있는 방법이 있어야합니다.

배경에 더 많은 앱이 대기 중일 때 더 자주 발생합니다. 클린 재부팅 후 즉시 게임을 실행하면 충돌이 발생하지 않습니다. 따라서 내 게임을 망칠 메모리 문제 여야합니다.

어떻게 처리 할 수 ​​있습니까? 압축 이미지 데이터의

답변

1

5메가바이트 쉽게 많은 (4 × 10 배)에 explose 수있는 메모리 요구 사항은 그들에게 압축을 가지고.

어떻게 처리 할 수 ​​있습니까?

Apple의 악기를 사용하고 메모리 사용량을 살펴보십시오.

다음으로 iOS 자체가 이미지를 캐싱하지 않도록하십시오 (사용중인 API와 해당 설명서를 참조하십시오. 일부는 캐시하고 다른 일부는 캐시하지 않습니다).

그런 다음 이전에 이미지를 처리 ​​할 수 ​​있는지 확인하십시오. 이미지가 상당히 클 수 있습니다. (iOS의 내부 메모리가 많기 때문에 인스 트루먼츠를 사용하면 MonoTouch 자체의 HeapShot 프로파일 러보다 더 좋은 이미지를 얻을 수 있습니다.) 수동으로 폐기하십시오. GC를 기다리는 대신 일반적으로 좋은 방법입니다 생각).

일부 이미지 (또는 압축 해제 된 버전)를 지연시킬 수 있는지도 확인하십시오 (예 : 첫 번째가 배치 된 후

+0

예,이 점을 상기시켜 주셔서 감사합니다. 내가 가지고있는 모든 이미지는 압축되어 있습니다 (png 또는 jpg). 아마 기억 관리 전술에 대해 다시 생각해야 할 것입니다. –