소셜 미디어 IOS 응용 프로그램을위한 메모리 관리 방법 -

IOS 응용 프로그램을위한 메모리 관리 방법 -

차례:

비디오: 아이폰 저장 공간 관리 방법 대공개!!! | 아이폰 사용 설명서 2024

비디오: 아이폰 저장 공간 관리 방법 대공개!!! | 아이폰 사용 설명서 2024
Anonim

그 자체가 강력한 것처럼, iPhone과 심지어 iPad는 리소스가 제한되어 있으며, iOS 애플리케이션을위한 이러한 리소스 중 가장 중요한 것은 메모리입니다. 앱에서 메모리를 올바르게 관리하는 방법을 이해한다면 iOS 메모리의 작동 방식을 이해해야합니다.

메모리 관리

Objective-C를 사용하여 개체를 만들 때마다 iOS 기기와 Mac은 모두 Mac과 달리 가상 메모리로 사용되지만 iOS의 가상 메모리는 실제로 실제 메모리 용량으로 제한됩니다. 메모리가 부족하면, 메모리 관리자는 읽기 전용 콘텐트 (예: 코드)가 포함 된 메모리 페이지를 해제합니다.

이 방법으로해야 할 일은 "원본"을 메모리에 다시로드하는 것입니다. Mac과 달리 iOS는 "변경 가능한"메모리 (객체 데이터 등)를 디스크에 임시로 저장하지 않고 공간을 확보합니다. 나중에 필요할 때 데이터를 다시 읽으십시오. 이 상태는 사용 가능한 메모리 양을 제한합니다.

당신이 볼 수 있듯이, 하나의 객체가 메모리를 사용하여 완성되었을 때, 다른 객체가 사용하기 위해 메모리를 공개하는 것이 중요합니다.

메모리가 계속 제한되면 시스템은 실행중인 앱에 추가 메모리를 확보하도록 요청하는 알림을 보낼 수 있습니다. 이것은 모든 앱이 응답해야하는 중요한 이벤트 중 하나입니다.

Objective-C에서 메모리는 iOS 응용 프로그램에서

참조 카운트 에 의해 관리됩니다 - 개체가 현재 사용 중인지에 대한 최신 정보를 시스템에 유지합니다. 모든 세부 사항을 읽으십시오. 참조 횟수

보유 카운트를 가지며

는 현재 객체를 사용하는 다른 객체의 수입니다. 보유 수 (retention count)가 0보다 큰 한, 메모리 관리자는 누군가가 그 객체에 관심을 갖고 있다고 가정합니다. 객체의 보유 카운트가 0이되면 메모리 관리자는 아무도 더 이상 필요가 없다는 것을 알고 객체에 dealloc 메시지를 보낸 다음 메모리를 시스템에 반환하여 재사용합니다. 그 과정은 꽤 간단하게 들릴지 모르겠지만 보유 수는 어떻게 증가하고 감소합니까? Xcode 4. 2와 iOS 5.0이 나오기까지는 앱에서 보유 개수를 관리해야했습니다. alloc 또는 new 또는 muteableCopy 메시지를 통해 객체를 만들면 객체의 보유 개수가 1로 설정됩니다. 응용 프로그램에서 이러한 메소드 중 하나를 사용하면 소유권이 메시지를 전송 한 객체로 전송됩니다. 그 개체는 유지되었으며 메시지를 보낸 개체는 개체의 비 독점적 소유자

가됩니다.

소유권

은 개체가 더 이상 필요하지 않을 때 메시지를 보내서 명시 적으로 해제 될 때까지 개체가 사용된다는 것을 의미합니다. Xcode 4. 2 및 iOS 5. 0 이전에는 이러한 방법 중 하나를 사용하여 개체를 만들지 않았지만 소유자가되기를 원했기 때문에 개체가 주위에 머물러 있어야만 자신이 사용할 때까지 사용할 수있었습니다 그것으로 끝났습니다. 보유 수를 늘리기 위해 보관 메시지를 보내고, 끝났을 때 해제 메시지를 보내야했습니다. 이것은 객체의 생성자 (보유 수를 1로 설정했기 때문)가 자동으로 해제했을 수 있기 때문입니다. 객체에 나중에 릴리스 될 릴리스 메시지를 보냈습니다 (대개 다음 번 실행 루프 입력됩니다). 이것은 객체의 소유권을 포기하고 메소드에서 객체를 반환 할 때와 같이 즉시 할당 해제 될 가능성을 피하기 위해 유용합니다. 어느 경우이든 객체를 사용할 수 있도록 객체에 대한 포인터를 유지 관리하고있었습니다. 이 접근법은 이론적으로 단순했지만 프로그래머에게는 정말 골치 거리였습니다. 대부분의 시스템 충돌은 응용 프로그램의 메모리가 부족하여 시스템에 의해 종료 되었기 때문에 발생합니다. 이 중 일부의 경우, app 는 메모리 경고 메소드에 응답하지 않고 메모리 부족 경고를 관리합니다.

대부분의 경우 앱이 메모리 부족 경고에 응답하더라도 메모리가 누출 되었기 때문에 가능한 작업으로 제한되었습니다.

일부 객체가 사용되지 않았기 때문에 메모리를 실제로 사용할 수 있었지만 객체의 메모리가 시스템으로 다시 릴리스되지 않았습니다. 이러한 객체에 대한 포인터가 더 이상 존재하지 않으므로 해제되고 할당 해제되고 메모리가 다시 사용되었습니다.

개발자는 메모리를 자동으로 관리하는 여러 가지 방법을 사용했습니다. 하나는

가비지 콜렉션이고, 는 메모리를 스캔하여 포인터가없는 오브젝트를 해제합니다. Objective-C의 가비지 수집은 Mac에서 가능하지만 가비지 수집에는 몇 가지 문제가 있습니다. 가장 부적절한시기에 앱을 시작하고 일시 중지 할 수 있으며 성능이나 사용자 경험에 영향을 미치지 않습니다. iOS에서는 구현되지 않았고 OS X 10.8 (Mountain Lion)부터 사용되지 않습니다.

Objective-C 컴파일러의 최신 버전 (ARC (Automatic Reference Counting) 이 제공됨)을 사용하여이 메모리 관리를 모두 수행해야합니다. 프로젝트를 만듭니다. ARC는 컴파일러에서 독자적으로해야했던 일을합니다. 모든 릴리스, 자동 응답 및 보유를 처리합니다.

IOS 응용 프로그램을위한 메모리 관리 방법 -

편집자의 선택

소셜 미디어 측정법을 사용하여 판매를 늘리는 방법 - 소셜 미디어 측정 항목을 사용하는 한 회사

소셜 미디어 측정법을 사용하여 판매를 늘리는 방법 - 소셜 미디어 측정 항목을 사용하는 한 회사

판매를위한 크로스 플랫폼 참여는 Best Buy입니다. Best Buy는 모바일 쇼핑 및 소셜 쇼핑을 매장의 각 품목에 대한 QR 코드를 사용하여 매장 내 경험으로 가져 왔습니다. 고객은 상점의 각 항목에 대한 QR 코드를 스캔하여 리뷰를 포함한 더 많은 정보를 얻을 수 있습니다.

블로그에 Google 웹 로그 분석을 설치하는 방법 - 아직없는 경우

블로그에 Google 웹 로그 분석을 설치하는 방법 - 아직없는 경우

블로그 또는 사이트에서 Google 웹 로그 분석 추적 통계를 사용하여 빠르고 쉽게 설치할 수 있습니다. 설치는 1 분 밖에 걸리지 않으며 완전히 고통스럽지 않습니다. 먼저 Google 애널리틱스 ID를 가져 와서 어딘가에 작성하십시오. 쉽게 찾을 수 있습니다. Google 애널리틱스와 대시 보드에서 로그인하십시오.

웹 사이트에 Google 웹 로그 분석을 설치하는 방법 - 웹 사이트에 Google 웹 로그 분석을 설치하는

웹 사이트에 Google 웹 로그 분석을 설치하는 방법 - 웹 사이트에 Google 웹 로그 분석을 설치하는

단 1 분이며 고통스럽지 않습니다. 곧 Google 애널리틱스 덕분에 잠자는 동안 소셜 미디어 측정 항목을 추적하게 될 것입니다. 먼저 Google 애널리틱스 ID를 가져 와서 어딘가에 작성하십시오. 쉽게 찾을 수 있습니다. Google 애널리틱스 및 대시 보드에 로그인하고 톱니 바퀴 아이콘을 클릭하기 만하면됩니다. ...

편집자의 선택

마케팅 자동화에서 분할 테스트의 기본 이점 - A / B 테스트라고도하는 더미 테스트

마케팅 자동화에서 분할 테스트의 기본 이점 - A / B 테스트라고도하는 더미 테스트

다 변수 테스트뿐만 아니라 요인 일정을 유지하고 다양한 시나리오에서 다른 결과를 테스트하여 마케팅 자동화 테스트를 수행하는 것을 의미합니다. 하나의 유료 검색 광고를 통해 사람들을 2 개의 개별 방문 페이지로 유도하는 것이 그 예입니다. 방문 페이지 테스트하기 ...

자동화 된 마케팅을위한 컨텐츠 작성의 기본 - 인형

자동화 된 마케팅을위한 컨텐츠 작성의 기본 - 인형

마케팅 자동화 도구의 사용을 극대화하기 위해 먼저 사람과 콘텐츠와의 관계를 이해해야합니다. 올바른 사람에게 올바른 콘텐츠를 보내는 경우에만 자동화가 유용합니다. 이를 올바르게 수행하는 방법에 대한 기본적인 이해를 돕기 위해 사람들은 두 가지 유형이 관련되어 있음을 인식해야합니다 ...

Microsoft Dynamics CRM을 사용하는 e-Mail 및 Microsoft Dynamics CRM- 더미

Microsoft Dynamics CRM을 사용하는 e-Mail 및 Microsoft Dynamics CRM- 더미

고객 관계를 관리하는 데 도움이되는 Microsoft 도구 현대 직장에서 가장 유용한 도구 중 하나는 전자 메일이므로 전자 메일을 만들고 읽거나, 전자 메일을 특정 레코드에 연결하거나, 일정을 관리하는 데 숙련되어 있어야합니다. ...

편집자의 선택

웹 호스팅 계획에서 더 많은 것을 얻기위한 10 가지 팁 - 인형

웹 호스팅 계획에서 더 많은 것을 얻기위한 10 가지 팁 - 인형

당신은 자신의 웹 사이트 또는 블로그를 가지고 있고, 고객, 독자 또는 웹 호스팅 기술에 의존하는 추종자 만 있습니다. 다음 팁은 웹 호스팅 계획을 최대한 활용하는 데 도움이됩니다. 제어판에서 백업 옵션을 확인하십시오. 일부 제어판을 사용하면 자동화 된 백업을 수행 할 수 있습니다. ...

귀하의 웹 호스트가 귀하를 도와주지 않는 10 가지 사항 (무료) - 인형

귀하의 웹 호스트가 귀하를 도와주지 않는 10 가지 사항 (무료) - 인형

은 웹 호스트만큼 멋지고, 웹 사이트를 디자인, 제작 및 운영하는 데 도움이되는 일에는 한계가 있습니다. 그것은 모두 돈으로옵니다. 귀하가 기꺼이 지불하는 한 귀하의 호스트는 기꺼이 도움이 될 것입니다. 각 호스트는 다릅니다. ...