ios开发中经常遇到内存警告,内存警告的时候OS会暂时回收部分内存,这些内存不是当前显示的UI,当需要显示那些被回收内存的UI时,OS会自动调用那些UI的重建函数,重新构建,用时间换空间的一种策略。
开发过程中,需要模拟内存警告,并用对策处理这种情况,以便在发布之后出现内存警告时,不出现意外情况。
模拟内存警告,官方只提供在模拟器里调试时,通过模拟器的系统菜单有个触发选项。
那么,如果在程序中用代码模拟内存警告呢,一个老外研究了这个东西,主要思路就是从那个菜单开始,看那个菜单触发了什么函数,发送了什么消息之类的。。。下面贴点源码
-(void)simulateMemoryWarning
{
#if TARGET_IPHONE_SIMULATOR
#ifdef DEBUG
CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(),(CFStringRef)@"UISimulatedMemoryWariningNotification",NULL,NULL,true);
#endif
#endif
}
}