2010-07-19 2 views
2

실행중인 iPhone 앱의 편안한 범위는 무엇입니까?iphone 앱에서 라이브 바이트 (메모리 할당)의 편안한 범위는 무엇입니까

내 응용 프로그램은 현재 5.4MB 주위에 최고조에 달하며 충돌을 일으키는 정확한 양을 알고 싶습니다.

나는 약 40 MB를 뺀

사람이 주위에 진실을 알고 있나요

등 메일, 사파리로 실행중인 응용 프로그램이 아이폰 3G에 그 들었어요?

+0

아무도 정확한 숫자는 아니지만 추정치는 아닙니다. 중복보기 [중복 질문] (http://stackoverflow.com)/questions/457568/iphone-development-memory-limitation-for-iphone-application) –

답변

1

포어 그라운드 앱에 더 많은 메모리를 제공하기 위해 백그라운드로 설정된 앱을 사용하면 메모리 경고가 표시 될 수 있으므로 "메모리 사용량"및 "사용 가능한 메모리"라는 전체 개념은 다소 쓸모가 없습니다. 앱/콘솔 로그를보고 메모리 경고가 표시되지 않으면 걱정하지 마세요. "레벨 1"메모리 경고는 모호하게 메모리를 많이 차지하는 (사진 촬영, AVCapture, 이미지 처리) 작업을하는 경우 놀라운 일은 아닙니다. "레벨 2"메모리 경고는 당신이 약간 조심해야한다는 것을 의미하며, "레벨 3"은 앱이 IIRC를 죽이기 전 마지막 단계입니다.

앱이 지원하는 최악의 기기에 대한 테스트입니다 (예 : 원래 iPhone/iPod Touch 3.1.3을 실행 중이거나 iPhone 3G/iPod Touch 2G가 4.0.1이면 3.1을 지원하지 않습니다. 구형 장치를 테스트하면 성능 문제가 드러납니다. 특히 CALayer.mask, CALayer.contentCenter 및 UIView.contentStretch는 3GS 이상에서만 제대로 지원됩니다 (iPhone 4, iPad, 아마도 iPodTouch 3G). 오래된 장치에서 조금 이상하거나 느리게 렌더링됩니다. 구형 장치에 대해 "수용 가능한"성능을 결정하는 것은 사용자의 몫입니다.

메모리/성능상의 이유로 오래된 OS에서는 테스트 할 가치가 없습니다 (2.something에 syslogd 메모리가 누출되었지만 대부분의 사용자가 업그레이드했다고 가정 할 수 있습니다). 최신 운영체제는 종종 더 느립니다. 4.0은 입니다.은 3G에서 3.1.3보다 느리지 만 3GS에서는 완벽하게 작동합니다. 아마도 ARM 대 Thumb이거나 계획된 노후화 일 것입니다.하지만 알만한 가치는 있습니다.

+0

감사합니다. 나는 3G를 가지고 있으며 4.0으로 업그레이드 한 이후로 전화가 정말로 느리다. 하지만 내 응용 프로그램은 잘 작동하므로 최신 장치에서 더 잘 작동 할 것이라고 말하는 것이 안전합니까? – jarryd

3

Apple 엔지니어가 3G에서 대략 25 메가와 3GS에서 50 메가가 앱용으로 제공된다고 전했습니다. 나는 이것을 테스트했고 내 앱이 죽기 전에 대략 같은 숫자를 보았다. 지금은 백그라운드 앱이나 백그라운드 앱에 대해 자세히 알지 못합니다.

관련 문제