几天前被问到的问题

  • http几种常见的状态码的意思:
  • 多线程中栈与堆是共有的还是私有的?

答:每个线程私有的资源只有栈和程序计数器,栈内存用来记录线程的执行历史,程序计数器用来保存线程的执行位置,其他资源(比如:文件句柄、全局变量、堆内存)都是所有线程共享的。

  • 使用imageNamed方法创建UIImage对象时,与普通的init方法的区别?

答:imageNamed是会把读取到的image存在某个缓存里面,第二次读取相同图片的话系统就会直接从那个缓存中获取,从某种意义上好像一种优化,但是imageNamed读取到的那个图片似乎不会因为Memory Warning而释放,所以用这个会导致在内存不足的时候闪退。简单的说imageNamed采用了缓存机制,如果缓存中已加载了图片,直接从缓存读就行了,每次就不用再去读文件了,效率会更高

  • 什么是keywindow?
1.png

从打印结果中可以知道:

keyWindow与delegate中的window其实是一样的,keyWindow的存在的意义,其实就是为了说明当前的window接管了这个控制器的view而已,你可以在keyWindow上加载你自己的建立的view了。

  • 其实我自己的理解的keyWindow就是指活跃的window, iphone键盘也在一个window里,叫UITextEffectsWindow;
    window可以层叠的,各个window都可以被响应

你可能感兴趣的:(几天前被问到的问题)