|
|
1
2
因为它是静态对象,所以系统将存储对象指针,直到应用程序终止。通过让指针指向一个不存在的对象,可以使用这种方法来缓存
当您真的想在内存中缓存一些需要大量CPU或IO处理时间才能生成的数据(通常是大小图像数据)时,我建议使用这种方法。对于像NSString这样的小数据,您可以创建新的数组并在需要时返回。
编辑评论:
有两件事
1/您无法控制缓存的内容和未缓存的内容
2/imageNamed:不能用于从网络或系统中的文件夹获取图像。它只能从你的包裹里装 |
|
|
2
3
这样,数组将一直存在,直到应用程序终止。 |
|
|
3
1
因为这是一个类方法(在声明中用+而不是-表示),所以不会释放任何实例。(从技术上讲,我认为有一个isa类对象的实例(?)?评论如果我错了,请,我不知道内部工作非常好)但不要担心) 因此,在程序运行期间一直存在于内存中的类拥有该数组。把static看作是尽可能接近类变量,而不是实例变量。因为类一直存在,所以数组一直存在。 延迟加载使它在第一次调用类方法之前不会被创建,因此在需要它之前不会浪费内存。 |
|
|
KanKonga · 为什么这个swift代码没有显示在文本字段中? 2 年前 |
|
|
Community wiki · 目标的Xcode构建阶段的自动更新? 2 年前 |
|
|
Anton Timonin · 如何正确地将动态pod库更改为静态? 2 年前 |
|
|
Igor · 在OSX中,捆绑包的用户首选项在哪里? 2 年前 |
|
|
narner · 从Swift包创建Cocoapods框架 2 年前 |