DRDNetworking icon indicating copy to clipboard operation
DRDNetworking copied to clipboard

使用NSCache 保存NSURLSessionDataTask,内存不足时会不会被清掉,用NSDictionary不更好吗?

Open tljackyi opened this issue 9 years ago • 2 comments

tljackyi avatar May 20 '16 07:05 tljackyi

@tljackyi 恩,是的,内存吃紧的时候,NSCache中的缓存数据会被删掉,这也是他与NSDictionary的区别,正是这种自动删除的策略和高效使其适合缓存短时间使用但创建昂贵的对象,这里的AFHTTPSessionManager正是这种使用场景,即使由于低内存警告,NSCache缓存的数据删掉了也没关系,SessionManager会被重新创建,综上,NSCache更好。

aozhimin avatar Jun 16 '16 15:06 aozhimin

@aozhimin 那cancelAPIRequest:的时候,恰好sessionTasksCache自动删除了该DRDBaseAPI保存NSURLSessionDataTask,会不会出现无法cancel task。

tljackyi avatar Jun 28 '16 03:06 tljackyi