面试3

load和initialize共同点

1.开发不主动调用情况下,系统最多调用1次

2.父类和子类都被调用,父类调用一定在子类前


load

1.load方法不需要写明[super load] 父类就会收到调用, 并在子类之前


initialize

1.第一次主动使用当前类

2.线程安全

3.子类会把父类的实现继承过来调用一遍, 不需要调用super


UIVIew和CALayer关系

UIView是CALayer的delegate

UIView主要负责处理事件, CALayer主要负责绘制


高性能给UIImageView添加圆角

切换到工作线程利用CoreGraphic生成一个offscreen UIImage, 在切换主线程赋值

UIImageView复用, 圆角头像缓存等


通过[UIImage imageNamed:]生成的对象什么时候被释放?

应该是到@autoreleasepool 结束的时候才释放的,但是我都是用这imageWithContentsOfFile方法加载图片的


你可能感兴趣的:(iOS面试)