草庐IT

iOS 图像缓存与内存中图像的自定义计数

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion我正在创建一个从网络加载大量不同图像的应用程序。所以我有两个屏幕。带有缩略图的UITableView的“主”屏幕。以及带有全尺寸图像的UICollectionView的“图像预览”屏幕,用户可以在图像之间滑动。我的任务是从网络加载图像并将它们存储到文件和内存中。使用SDWebImage很容易做到.但是很多时候我的内存中有太多图像,这会导致内存警告。有时内存缓存没有足够的时间来丢弃图像和应用程序崩溃

ios - AFNetworking 2.0 且仅在离线时使用缓存

当用户使用我的应用程序并且他们失去连接或使用飞行模式时,我遇到了问题。我的应用服务器端没有设置任何缓存策略,暂时我无法更改它。我从AFNetworking1.x迁移到2.0,现在我在发出请求时使用AFHTTPRequestOperationManager。问题是因为我在服务器端没有缓存策略,所以每个请求都是向服务器发出的(目前还可以)但是如果用户无法连接到我的服务器,它不会加载缓存的请求.所以,我正在尝试以下操作,直接像这样使用AFHTTPRequestOperation:NSURL*URL=[NSURLURLWithString:filePath];NSMutableURLReque

ios - Parse.com saveEventually with callback 并使用 NSCache 存储数据

Parse.com有一个saveEventually选项,可将数据存储到磁盘并等待网络连接继续并将其保存到服务器。但是,有时当网络连接可用并且用户快速切换屏幕时,新数据尚未保存到服务器,导致View显示旧数据。对于parse.com用户,当我运行新的query并且saveEventually调用尚未完成时,会发生这种情况。我想实现自己的缓存系统。我想在完成时调用带有回调的saveEventually,然后我会删除缓存的数据。这样,我可以在建立网络连接之前先检查是否有缓存数据。我想我可以使用NSCache和NSDiscardableContent来完成,我已经阅读了文档,但是如果我能看到

ios - 为什么 drawRect 会留下部分图像?

这是我的案例:我有一个包含餐厅列表的表格,每个条目都在使用drawRect绘制的记分栏上显示随时间变化的检查结果。当用户向下滚动表格然后向上滚动时,会显示带有黄色和红色方block的记分栏,之前的记分栏会选择这些方block。日期也被绘制到以前的记分栏中。我的问题在于摆脱旧方block。它们不应该在每次调用drawRect时都被删除吗?我在下面放了三张图片,希望能解释我的意思。我不认为这是表行缓存自定义单元格的问题?一旦UITableCell建立单元格出队,就会在此处绘制得分条;单元格中的所有其他View都是正确的,这让我认为问题在于drawRect未能清除图形上下文。-(UITabl

ios - 预加载和缓存图像的最佳实践 (AFNetworking)

我想知道这个非常常见的操作的最佳实践是什么:假设我有一个CollectionView,这个CollectionView的每个单元格都有一个imageView接收图像的url。图片很大,所以我想提前预加载所有图片(或者说提前5张)。我正在使用AFNetworkingimageView类别。所以这就是我所做的-创建一个临时UIImageView并在每次迭代时为其设置url,但它似乎无法正常工作。(图像仍然需要时间才能显示,而我希望它立即显示,如果我关闭互联网连接,图像不会从缓存中加载)。-(void)preloadGalleryImages{for(GalleryItem*itemin_g

ios - AFNetworking 2.0 缓存问题

AFNetworking缓存是否仍然适用于Objective-C?我一直在尝试使用AFNetworking来缓存API响应,但它似乎不再起作用了。AFHTTPRequestOperationManager*manager=[AFHTTPRequestOperationManagermanager];NSString*requestURL=[NSStringstringWithFormat:@"http://ssssssssss.com"];manager.responseSerializer.acceptableContentTypes=[NSSetsetWithObject:@"te

ios - 下载图像 编辑图像然后缓存

UIImageview+afnetworking下载图片并缓存图片。但在某些情况下,服务器图像=15mb。所以我需要根据某些因素压缩它们并将其压缩到1mb,然后要求缓存它们。另一方面,SDWebImageCache使您可以定义自己的缓存并存储它们是否有任何内置机制用于下载、编辑然后保存到缓存中?[SDWebImageDownloader.sharedDownloaderdownloadImageWithURL:imageURLoptions:0progress:^(NSIntegerreceivedSize,NSIntegerexpectedSize){//progressiontra

ios - UI图像缓存

UIImageimageNamed缓存图像是有据可查的。新版本iOS的趋势是使用Assets文件来简化所有设备的所有@2x和@3x图像。但是为了避免缓存图像并充分利用图像的内存,到目前为止我会使用像imageWithData这样的方法。但是这些方法不适用于我目前理解的Assets文件。因为我无法在bundle中找到pathForResource之类的方法,这些方法可以正常用于Assets图像。这是iOS上的一个缺点,还是有一个很好的解决方法,或者它只是代表我的n00bness?在我的一个项目中,我注意到大量内存消耗只是因为在某些启动屏幕上使用的某些图像仍然被缓存礼貌imageNamed

ios - 如何在 iOS 上有效清除 Haneke 内存缓存?

随着用户请求更多数量的图像,主内存缓存正在膨胀。随着用户session的进行,主内存大小会增加,这会对内存施加过大的压力。这会导致内存不足异常。 最佳答案 您可以使用以下方法清除缓存Shared.dataCache.clearMainMemory()Shared.imageCache.clearMainMemory()Shared.JSONCache.clearMainMemory()Shared.stringCache.clearMainMemory() 关于ios-如何在iOS上有效

ios - 禁用缓存 Alamofire iOS

我试图在使用Alamofire发出iOS请求时禁用缓存。当我尝试向服务器发出请求,然后在以其他用户身份进行身份验证时发出请求时,我收到了304状态代码。我已经在thislink尝试了一切,所有这些都不起作用或导致错误。后端使用Express.js处理请求,使用Passport.js进行用户身份验证。在Alamofire和iOS应用程序上禁用缓存的正确方法是什么?或者我可以做些什么来防止后端发生这种情况?无论哪种方式,我都不太确定下一步如何前进。更新在进一步研究这个问题之后,Alamofire似乎发送了完全相同的身份验证信息,即使传递到身份验证部分的信息完全不同。但是,如果我等待几分钟并