Ошибки при работе с памятью на iOS Поиск причин падений в связи с Low Memory и EXC_BAD_ACCESS.

Презентация:



Advertisements
Похожие презентации
Info My name – Valera Kolupaev – Wave for questions -
Advertisements

IOS – для всех А.Ю.Кузнецов. План Стратегия разработки – Как выбрать категорию для нового приложения? – Какие приложения живут дольше? – Какие бывают.
Products: iPhone iPod iPad iMac MacBook Pro Apple iPhone 4s.
Products: iPhone iPod iPad iMac MacBook Pro Apple iPhone 4s.
Microsoft TechDays Иван Андреев.
Р1РОМАШКА Р1РОМАШКА 2 ПОВІТРЯ
Test 16 Вопрос 1. class Clazz { { System.out.println("non-static init"); } public static void main(String a[]) { System.out.println("main"); Clazz ob1.
SPB Brain Evolution for iPhone Your Brain Can Do Better.
ПЛАН главы (параграфа?) в CDR (Baseline CDR?) На тему: Centrality determination for the A.Litvinenko.
Преобразование типов Макаревич Л. Г.. Операция приведения типов Тип ( выражение ) Тип ( выражение ) (тип) выражение (тип) выражение int a = 5; float b.
Аудитория 5Аудитория 6.
MY HOBBY Цели урока Прочитать стихотворение Hobbies наизусть; Рассказать о своих увлечениях; Расспросить своего друга о том, что он любит делать; Прослушать.
Date: File:GRAPH_02e.1 SIMATIC S7 Siemens AG All rights reserved. SITRAIN Training for Automation and Drives Project Planning and Configuration.
© 2007 Cisco Systems, Inc. All rights reserved.SNRS v Cisco Network Foundation Protection Introducing Cisco NFP.
Тетерина Ольга Афанасьевна I cant 1 So-so 2 Fifty- fifty 3 Well 4 Very well 5 I can read English. I can speak English. I can sing in English.
Functions of computer. The Present Perfect tense. Преподаватель Бондаренко Я.В. г.Сургут Тюменской области.
Microsoft TechDays Олег Аксенов {oleg.gdn at gmail.com}
Молекула памяти P.BALABAN Institute of Higher Nervous Activity and Neurophysiology, Russian Academy of Sciences Что-то с памятью моей стало, То, что было.
Объектные интерфейсы (.NET) «Школа Инноваций InterSystems 2007»
Animals Автор: Ершова Марина Николаевна учитель английского языка урок английского языка, 2 класс, УМК Spotlight.
Транксрипт:

Ошибки при работе с памятью на iOS Поиск причин падений в связи с Low Memory и EXC_BAD_ACCESS

Аудитория Разработчики Разработчики под iOS

Работа с памятью под iOS reference counted NSObject alloc/dealloc retain/release retainCount

Работа с памятью под iOS plane = [[Plane alloc] init]; plane2 = [plane retain]; plane3 = plane; [plane release]; [plane2 release]; [plane dealloc]; Plane plane plane2 plane3 120

Ошибки при работе с памятью Утечки типа 1: ссылки удалены, объект живет Утечки типа 2: ссылки есть, объект живет ( но зря ) Обращение к освобожденным объектам : ссылки живут, объект не живет

Утечки первого типа leakedPlane = [[Plane alloc] init]; … leakedPlaner = [[Plane alloc] init]; Plane leakedPlane Plane Leak

Утечки второго типа leakedPlane = [[Plane alloc] init]; [leakedPlane retain] [leakedPlane release] Plane leakedPlane

Обращение к освобожденному объекту leakedPlane1 = [[Plane alloc] init]; leakedPlane2 = leakedPlane1; [leakedPlane1 release]; leakedPlane1 = nil; [leakedPlane2 fly]; Plane leakedPlane1 leakedPlane2 Elephant Automobile BAD_ACCESS

Low memory Processes Name UUID Count resident pages Mobil 692 MobilePhone 489 KingsHeroOrigins (jettisoned) (active) iPhone/iPod 1st & 2nd generation: 128 MB RAM Only ~20 MB for application!!! iPhone 3GS, iPod 3rd generation & iPad: 256 MB RAM ~110 MB for application, but multitasking

EXC_BAD ACCESS Program received signal: EXC_BAD_ACCESS

Что с этим делать ? Утечки памяти первого типа ( объекты без ссылок ) Instruments, Leaks Утечки памяти второго типа ( вечные объекты ) Instruments, ObjAlloc Анализ связей Переопределение retain/release EXC_BAD_ACCESS NSZombieEnabled (stack) Instruments, ObjAlloc (new XCode) Анализ связей Переопределение retain/release/dealloc

DEMO

Анализ связей Кто владеет этим объектом ? Карта связей По каким событиям он должен освобождаться ? Какие объекты должны освобождаться по этому событию ?

Вопросы ???

Контактная информация Станислав Краснояров