ios学习笔记

1.对于autorelease的理解ios

  Each thread in a Cocoa application maintains its own stack of autorelease pool blocks.(Advanced Memory Management Programming Guide:Using Autorelease Pool Blocks)objective-c

     经过这句话,咱们能够看出架构

  • autorelease pool 是栈的形式,and autorelease pool blocks can be nested
  • 主线程中也有本身的autorelease pool,这又牵扯出run loop。实际上,每次执行一次runloop时,就会释放当前autorelease pool中的对象。run loop 是ios中与线程有关的一个基础架构,用于处理事件循环的。

 

2.对于runtime的理解app

  The objective-c language defers as many decisions as it can from compile time and link time to runtime.ide

    这意味着oc不只须要一个编译器,还须要一个运行时系统,来执行编译过的代码。这个运行时系统对于oc来讲扮演着操做系统的角色。oop

  • In Objective-C, messages aren't bound to method implentationss until runtime.

 

3.对于CALayer的理解ui

  Layer是Core Animation的核心。spa

  Layers are data objects that manage content provided by your app。操作系统

  A layer's content contains of a bitmap containing the visual data you want to display.有3种方法来设置它的content线程

  • 直接将一个对象分配给layer的content属性
  • 为layer指定个delegate对象,来delegate来draw它的content:displayLayer: 和drawLayer: inContent:
  • 子类一个layer,重写它的drawing方法:重写display或者drawInContext方法
相关文章
相关标签/搜索