gpt4 book ai didi

ios - UIImageView+AFNetworking setImageWithURLRequest 使用 RestKit?

转载 作者:行者123 更新时间:2023-11-29 10:45:39 26 4
gpt4 key购买 nike

我将 RestKit (0.20.0) 用于我的 Rest Api 实现 - 所有 GET、POST 等。GET 返回一些图像的 url。我正在使用 UIImageView+AFNetworking setImageWithURLRequest 函数来下载这些。我很惊讶地看到 RestKit 日志为这些提取打印出来,所以我做了一些调试。似乎某些通知是由 AFNetworking 发送的,最终落在 RestKit 上。

enter image description here

看起来它正在发生,因为 AFNetworkingOperationDidStartNotification 被触发以获取图像并且 RK 已在 RKObjectRequestOperation.m 中注册此通知。

        [[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(HTTPOperationDidStart:)
name:AFNetworkingOperationDidStartNotification
object:nil];

我的问题是-

  1. 考虑到我使用此 api 的想法是确保图像提取与 RK 在完全独立/排他的线程中进行,这对我来说是否重要?

  2. 这会影响我的 CoreData 实现吗?此图像是否会被缓存 - 我猜不会是因为我没有明确存储它,但如果这些操作开始发生在与 Rest api 操作相同的池中,它是否可能会影响性能?

  3. 这是正确的实现方式吗?我是否也应该将图像缓存在 CoreData 中并且完全不使用 AFNetworking api?

  4. 稍微偏离但相关的主题 - 我计划从服务器获取数百个项目,每个项目也可以有很多项目。每一个都会有图像。所以它是一个相当网络繁重的应用程序。是否有任何最佳做法来管理这些请求的限制以避免性能问题?

提前感谢您的帮助..

最佳答案

Should it matter to me who is routing this given that my thinking behind using this api was to ensure that the image fetches are in completely separate/exclusive threads than RK.

不,不应该。该请求仍将在不同的线程上运行。

Does this impact my CoreData implementation? Will this image get cached - I am guessing it wont be because I am not explicitly storing it but can it possibly impact performance if these operations start to happen on the same pool as the Rest api operations?

图像只会缓存在内存中(如果内存可用)。总的来说,我同意@m-farhan 的观点,即SDWebImage 将是一个更好的选择,不是与Core Data 分离,而是将图像缓存到磁盘,这样您就不会一直下​​载它们。通常您不想将图像存储在 Core Data 中。

如果您同时发出所有请求,则任何请求都会影响性能。您应该将并发网络操作限制在 4 或 5 个左右。

Is this the right implementation? Should I cache the images as well in CoreData and not use AFNetworking api at all?

见上文。

Slightly off but related topic - I plan on getting hundreds of items from the server, each of these items can have many items as well. and each of these will have images as well. So its a pretty network heavy application. Are there any best practices to manage throttling of these requests to avoid performance hiccups?

见上文。在 RKObjectManageroperationQueue 上设置并发计数。

关于ios - UIImageView+AFNetworking setImageWithURLRequest 使用 RestKit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22490259/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com