1. 程式人生 > >包建強的培訓課程(12):iOS深入學習(記憶體管理、Block和GCD等)

包建強的培訓課程(12):iOS深入學習(記憶體管理、Block和GCD等)

iOS記憶體管理

簡介

結合講師5年來一線工作經驗,以及對iOS的深刻理解,整理出這個課程,涉及iOS記憶體、BlockGCDCategory的原理和使用。

本課程系列適合於從事iOS開發1-2年的技術人員,幫助他們鞏固基礎,從而在ARC開發環境下高效的使用GCDBlockCategory,減少因語法使用不當導致的bug數量,在高強度的企業級開發工作中儘早成長起來。

課程大綱(1天)

1 記憶體管理

l引用計數

n現實中的例子

n記憶體管理的四點原則

nallocretainCountretainrelease方法的實現

nautorelease

nAutoreleasePool

lARC規則

n規則概要

n4種所有權修飾符

n再談autoreleaseAutoreleasePool

nARC規則

nARC中的屬性

2 Block

lBlock語法

lBlock實現

3 GCD

lGCD語法

lGCD實現原理

4 Category

lCategory語法

lCategory原理

5 ARC記憶體管理實戰

l解決timer和呼叫物件之間的迴圈引用

l解決block迴圈引用

l使用LeaksAllocation工具檢查記憶體洩漏

lUIImage 2種載入方式對記憶體的影響

l使用佇列,解決對同一個資源競爭讀寫的問題

相關推薦

培訓課程12iOS深入學習記憶體管理BlockGCD

iOS記憶體管理 一簡介 結合講師5年來一線工作經驗,以及對iOS的深刻理解,整理出這個課程,涉及iOS記憶體、Block、GCD和Category的原理和使用。 本課程系列適合於從事iOS開發1-2年的技術人員,幫助他們鞏固基礎,從而在ARC開發環境下高效的使用GCD、Bloc

JAVA學習方法重載與方法重寫thiskeywordsuperkeyword

格式 hello new 初始 per 而且 方法重寫 學習 方式 方法重載與方法重寫、thiskeyword和superkeyword 1、方法重載 重載可以使具有同樣名稱但不同數目和類型參數的類傳遞給方法。 註: 一是重載方法的參數列表必須與被重載的方法不同

有哪些關於前端開發技術HTMLCSS JavaScript 的值得推薦的書籍?

第一本,入門《Head first HTML&CSS》最好的入門書。看兩遍就對HTML & CSS 有個大概印象了。此時把w3cschool作為備查手冊收藏起來第二本《CSS權威指南(第三版)》最權威的CSS書籍,除了閱讀W3C的文件外的不二選擇(就是翻譯有點操蛋,遇到感到難理解的地方…顯示

學習OpenStack之6Neutron 深入學習之 OVS + GRE 之 Compute node 篇

0.環境 OpenStack網路配置:一個tenant, 2個虛機 Type driver: GRE, Mechanism driver: OVS 一個public network: ext-net 和相應的subnet ext-subnet 一個VM network:demo-net 和相應

IOS深入學習18之Target-Action

1 前言     這節我們來學習一下Target-Action(目標-動作模式)。     英文原文: 2 詳述     Target-Action是一種當一個事件發生時候,一個物件攜帶傳送一個訊息到另一個物件的必要的資訊設計模式。儲存的資訊包括兩類資料:標識所被呼叫的方法

iOS深入學習建立靜態庫static library

在專案開發的過程中,經常使用靜態庫檔案。例如兩個公司之間業務交流,不可能把原始碼都發送給另一個公司,這時候將私密內容打包成靜態庫,別人只能呼叫介面,而不能知道其中實現的細節。 簡介: 庫是一些沒有main函式的程式程式碼集合。除了靜態庫,還有動態連結庫,他們

IOS深入學習28之Property list屬性列表檔案

1 前言   本文主要介紹了plist(Property list)的相關介紹。 2 詳述   屬性列表是能夠儲存於檔案系統和之後被重新恢復的層級物件的代表。屬性列表提供給應用一個輕量級的,便攜的來儲存小量資料的方式。他們是來自於特殊型別物件(實際上是一個物件圖)的層

HadoopHDFSYARNHBaseHiveSpark預設埠表

埠 作用 9000 fs.defaultFS,如:hdfs://172.25.40.171:9000 9001 dfs.namenode.rpc-address,DataNode會連線這個

IOS深入學習24之View hierarchy

1 前言     本節主要介紹了層級檢視,以及UIWindow,父檢視和子檢視之間的關係。 2 詳述   層級檢視定了在window中檢視互相之間的關係。我們能夠把層級檢視結構看作為一個以window作為樹頂端結點的倒轉的樹形結構。在該結構下檢視結構規定了父子關係。通

培訓課程17Java程式碼敏捷之道

第1講 千言萬語聊註釋 按圖索驥 奇葩註釋“賞析” Git提交的學問 第2講 RxJava:函數語言程式設計 從一隻貓的故事說起 背壓 第3講 程式碼瘦身 抽象相同邏輯的程式碼 查詢相似程式碼 AOP一瞥 第4講演算法之美 從集合中刪除元素

培訓課程11iOS Runtime實戰

iOS Runtime實戰 一、簡介 本課程結合講師多年來對iOS Runtime技術的潛心研究,以及在千萬級使用者的App上長期實踐經驗,整理而成。本課程從NSObject和Class講起,然後會介紹本課程的核心內容——自省和Method Swizzling,最後通過iOS

培訓課程1Android App企業級開發

Android企業級開發實戰 一.簡介 結合講師5年來一線工作經驗,打造千萬級使用者所需要的Android開發框架,以使用快速迭代的節奏和上百人的團隊協作。每一個知識點的總結,都是講師在踩過坑之後,血和淚的經驗教訓,十分有參考借鑑的意義。 本課程系列適合於從事Android開發1-2

培訓課程10Android外掛化從入門到精通

Android外掛化和熱修復 一.簡介 本課程結合講師多年來對Android外掛化技術的潛心研究,以及在千萬級使用者的App上長期實踐經驗,整理而成。本課程從四大元件的外掛化技術講起,中途會詳細剖析Android系統中與外掛化技術有關的底層概念,最後詳細介紹業界流行很廣的外

培訓課程15Android App熱修復技術

Android外掛化和熱修復 一.簡介 本課程是目前對Android熱修復技術最全的整理和講解,涉及熱修復的歷史、技術流派,詳細介紹了業界各種熱修復技術的原理和接入方式,並對每種熱修復技術的優缺點進行評測。 本課程系列適合於: l從事Android開發2-3年的中高階技術人

培訓課程9Android App效能優化

課程名稱:Android App效能優化 一、簡介 本課程根據講師多年來從事App開發的工作經驗,以及業界若干App的效能優化經驗分享,總結出Android App開發時的若干效能優化經驗,基本覆蓋了Android App效能優化的方方面面。 本課程在講解Android App效能

培訓課程13iOS與ReactNative

課程名稱:iOS與ReactNative 一、簡介 本課程講解目前最火的ReactNative技術,從入門講起,包括NodeJS、React和ES6等基礎知識,隨後從淺入深逐步剖析ReactNative,包括ReactNative的原理、實戰以及一些高階實用技巧。 本

培訓課程5演算法與資料結構

演算法與資料結構 一、簡介 本課程是基於資料結構來設計的,蒐羅了各大公司面試過程中經常被問到的300多個演算法題目,從中遴選出70道經典題目,分為單鏈表、陣列、二叉樹、棧、數字、邏輯推理等多個類別。 本課程將培訓學員的邏輯思維能力,學以致用,在實戰中編寫出效能更好、邏輯更嚴謹的程式。 本課程適

培訓課程16Android新技術入門提高

Android新技術入門和提高 一.簡介 # 課程簡介 結合講師5年來一線工作經驗,對Android業界的各種新技術、新思想的持續學習、研究以及付諸實踐,將研究心得和實踐經驗彙編成本課程。 # 受眾定位 本課程系列適合於從事Android開發1-2年的技術人員,幫助他們使

培訓課程2Android與設計模式

課程名稱:Android與設計模式 一、簡介 本課程根據講師十多年的一線工作經驗,涉足.NET、Android、iOS等多個技術領域,對設計模式有獨到的理解。不拘泥於傳統的書本教程,結合Android在實際專案中的運用,幫助學員深刻理解設計模式。 本課程讓學員掌握二十

培訓課程清單

(一)以下是Android課程列表: ------------------------ (二)以下是iOS課程列表: 6. iOS App瘦身  7. Swift實戰 8. JSPatch原理和實戰  9. i