首页 > 试题广场 >

使用imag

[单选题]
使用imageNamed方法创建UIImage对象时,与普通的init方法有什么区别?

  • 没有区别,只是为了方便
  • imageNamed方法只是创建了一个指针,没有分配其他内存
  • imageNamed方法将图片加载到内存中后不再释放
  • imageNamed方法将使用完图片后立即释放
答案是C
          imageNamed是会把读取到的image存在某个缓存里面,第二次读取相同图片的话系统就会直接从那个缓存中获取,从某种意义上好像一种优化,但是imageNamed读取到的那个图片似乎不会因为Memory Warning而释放,所以用这个会导致在 内存不足 的时候闪退。简单的说imageNamed采用了缓存机制,如果缓存中已加载了图片,直接从缓存读就行了,每次就不用再去读文件了,效率会更高
发表于 2016-12-17 22:33:04 回复(2)