"라이브 바이트"를 최대 3MB로 가져 오는 응용 프로그램이 있습니다. 응용 프로그램이 메모리 경고를 표시하고 계속 충돌합니다. 내가 객체 할당 도구를 사용할 때 많은 장소에서 imageWithContentsOfFile을 사용하여 라이브 bytes.im을 볼 수 있습니다. 나는 NSConcreteData 객체가 더 많은 momory를 취하는 것을 볼 수 있습니다. 그것은 무엇을위한 공명입니까? 응용 프로그램에 얼마나 많은 메모리가 허용되는지 알 수 있습니다.객체 할당 및 메모리 경고
0
A
답변
1
사용 가능한 메모리 용량을 실제로 알 수는 없지만 일반적으로 iPhone/iPod 기기에서 최대 20MB까지 사용할 수 있습니다. 그러나 앱이 지나치게 많은 메모리를 사용하는 것뿐만 아니라 경고가 발행 될 때 메모리 사용을 줄이는데 실패 할 수도 있습니다. 따라서 메모리를 많이 사용하지 않아도 시스템에서 메모리 경고를 가져올 때 메모리를 해제하지 않으면 앱이 종료 될 수 있습니다. 적어도 내 경험은입니다. 어쩌면 다른 사람들이 무슨 일이 일어나고 있는지에 대해 더 자세한 지식을 갖고있을 수도 있습니다.
imageWithContentsOfFile:
에는 캐싱 메커니즘이 내장되어 있으므로 동일한 이미지를 반복해서로드하는 경우 약간의 오버 헤드가 발생합니다.
편집 :imageWithContentsOfFile:
이미지를 캐시하지 않습니다. imageNames:
메서드는 캐시 이미지를 처리하며 이미지 생성 방법은 유일합니다.
관련 문제
- 1. COCOA 객체 할당/할당 해제 + 메모리 최적화
- 2. UITabBarController 메모리 경고 후 뷰를 할당 해제합니다.
- 3. 템플릿 및 메모리 할당
- 4. 메모리 할당 및 해제
- 5. 메모리 할당
- 6. 연속적인 메모리 덩어리에 objective-c 객체 할당
- 7. Android - 객체 생성/메모리 할당 vs. 성능
- 8. C# 메모리 할당 및 할당 해제 패턴
- 9. 스택 메모리 할당 및 할당 해제 메커니즘
- 10. 메모리 경고 및 흰색 화면
- 11. ios - 메모리 경고 및 오류
- 12. 정적 메모리 할당 및 이식성
- 13. 메모리 할당
- 14. 메모리 할당
- 15. 코코아의 로컬 객체 범위 및 메모리 관리
- 16. 객관적인 c NSString 메모리 경고
- 17. C++ 메모리 할당 및 삭제에 관한 질문
- 18. TimerCallback.PerformTimerCallback 메모리 할당
- 19. 메모리 누출의 C/메모리 할당 ++
- 20. 문자열 메모리 할당
- 21. Android 위젯의 메모리 할당
- 22. 리눅스에서 메모리 할당
- 23. 객체 메모리 최적화 질문
- 24. 스택 기반 메모리 할당
- 25. 메모리 할당 오류
- 26. 메모리 할당 해제
- 27. Qt 위젯 객체 만들기 및 할당 해제
- 28. 기본 C++ 메모리 할당 및 strlen
- 29. Android, 이미지 로딩 및 메모리 할당
- 30. RAM 메모리 재 할당 - Windows 및 Linux
답장 보내 주셔서 감사합니다. 어떻게 캐시를 지울 수 있습니까? – Allen
이미지 캐시는 라이브러리에 의해 처리됩니다. 그러나 3MB의 라이브 메모리 만 확보했다면 (Activity Monitor 도구를 사용하여 확인하십시오) 문제가 다른 것일 수 있습니다. 메모리 경고가 발생하면 뷰의 할당이 해제되고 예상치 못한 버그가 나타나는 상태로보기 컨트롤러를 쉽게 가져올 수 있습니다. 나는 그런 종류의 문제를 여러 번 경험했다. 이 문제는 메모리가 아니라 뷰 컨트롤러 또는 다른 코드가 뷰를 다시로드해야하는 상황을 처리하지 못하는 방식 일 수 있습니다. 예를 들어, 뷰가로드 된 후에 초기화되는 것에 의존하고있는 경우. – Felixyz
예 저는 3MB의 라이브 바이트만을 가지고 있습니다. 당신이 자세히 설명해 주시겠습니까? – Allen