1
2
因为它是静态对象,所以系统将存储对象指针,直到应用程序终止。通过让指针指向一个不存在的对象,可以使用这种方法来缓存
当您真的想在内存中缓存一些需要大量CPU或IO处理时间才能生成的数据(通常是大小图像数据)时,我建议使用这种方法。对于像NSString这样的小数据,您可以创建新的数组并在需要时返回。
编辑评论:
有两件事
1/您无法控制缓存的内容和未缓存的内容
2/imageNamed:不能用于从网络或系统中的文件夹获取图像。它只能从你的包裹里装 |
2
3
这样,数组将一直存在,直到应用程序终止。 |
3
1
因为这是一个类方法(在声明中用+而不是-表示),所以不会释放任何实例。(从技术上讲,我认为有一个isa类对象的实例(?)?评论如果我错了,请,我不知道内部工作非常好)但不要担心) 因此,在程序运行期间一直存在于内存中的类拥有该数组。把static看作是尽可能接近类变量,而不是实例变量。因为类一直存在,所以数组一直存在。 延迟加载使它在第一次调用类方法之前不会被创建,因此在需要它之前不会浪费内存。 |
WkWk · Apple Watch动作通知不起作用 2 年前 |
Otavio Miguel · 在手机中保留我自己未发布的ios应用 2 年前 |
Nico Passaglia · 移动键盘向上移动站点 6 年前 |