iOS 内存优化包括两部分:1、使用不当导致的内存泄漏;2、大量加载数据及使用导致的内存警告。 1、修饰关键字的错误使用(weak,strong错误使用)2、循环引用3、定时器,通知使用后不销毁4、动画不主动停止,不清理动画资源5、手动开辟内存不释放6、单例(不常用的使用懒加载,用完之后释放掉)7、 ...
分类:
移动开发 时间:
2020-02-24 13:20:03
阅读次数:
89
本文主要跟大家一起来探讨一下Cocos Creator小游戏开发过程中内存优化、性能优化和包体优化。 一、内存优化 因为 iOS小游戏和微信共用同一个进程,而微信在连续两次收到系统内存警告的时候会关闭小游戏并释放小游戏占用的内存。如果你的小游戏有外网用户反馈“闪退”,或者你自己测试的时候频繁出现“该 ...
分类:
其他好文 时间:
2019-09-29 17:07:22
阅读次数:
623
NSCache是苹果官方提供的缓存类,具体使用的 NSDictionary类似,在AFN和SDWebImage框架中用来管理缓存。 苹果官方解释:NSCache在系统内存很低时,会自动释放对象。建议:在收到内存警告时,主动调用removeAllObject来释放对象。 NSCache是线程安全的,在 ...
分类:
系统相关 时间:
2019-03-03 22:17:55
阅读次数:
319
一、 基本原理 1. 什么是内存管理 移动设备的内存极其有限,每个app所能占用的内存是有限制的 当app所占用的内存较多时,系统会发出内存警告,这时得回收一些不需要再使用的内存空间。比如回收一些不需要使用的对象、变量等 管理范围:任何继承了NSObject的对象,对其他基本数据类型(int、cha ...
分类:
移动开发 时间:
2018-08-19 20:00:13
阅读次数:
237
一、什么是内存管理 程序在运行的过程中通常通过以下行为,来增加程序的的内存占用 创建一个OC对象 定义一个变量 调用一个函数或者方法 而一个移动设备的内存是有限的,每个软件所能占用的内存也是有限的 当程序所占用的内存较多时,系统就会发出内存警告,这时就得回收一些不需要再使用的内存空间。比如回收一些不 ...
分类:
其他好文 时间:
2018-07-29 00:13:54
阅读次数:
193
loadView在View为nil时调用,早于ViewDidLoad,通常用于代码实现控件,收到内存警告时会再次调用。loadView默认做的事情是:如果此VIewcontroller存在一个对应的nib文件,那么就加载这个nib。否则,就创建一个UIView对象。 如果你想自己创建View对象,那 ...
分类:
其他好文 时间:
2018-06-23 10:34:04
阅读次数:
186
一、内存优化原则 为了优化应用内存,你应该知道是什么消耗了你应用的大部分内存,答案就是Texture(纹理)!它几乎占据了90%的应用内存。那么我们应该尽力去减小我们应用的纹理内存使用,否则我们的应用进程可能会被系统杀死。 为了减少内存警告,这里我们给出两个普遍的关于cocos2dx游戏内存优化的指 ...
分类:
其他好文 时间:
2018-05-10 14:21:37
阅读次数:
145
简介 1)NSCache 是苹果官方提供的缓存类,用法与 NSMutableDictionary 的用法很相似,在 AFNetworking 和 SDWebImage 中,使用它来管理缓存。 2)NSCache 在系统内存很低时,会自动释放一些对象(备注:在模拟器中内存警告时,缓存不会做清理动作)。 ...
分类:
系统相关 时间:
2018-01-04 00:29:47
阅读次数:
235
You will want to use the [UIImage imageWithContentsOfFile:@""] method, as that doesn't cache images. imageNamed: caches any images that are loaded thr ...
分类:
其他好文 时间:
2017-08-04 20:32:47
阅读次数:
113
NSCache用来存储缓存数据的时候。和NSDictionary功能类似, 可是NSCache有一个特别的问题: 一旦接收到内存警告之后,假设使用[NSCache removeAllObjects]处理就不能把图片存放到内存中, 之后全部的图片都是从沙盒中取的不能再次存放到内存中,由于框架的内存警告 ...
分类:
系统相关 时间:
2017-07-15 22:51:47
阅读次数:
229