iOS:数据会话与短暂会话

 dmcm0001 发布于 2023-02-06 13:22

我的应用程序的webView加载一个页面,我注入了一些javascript,它为我自动点击并添加一个项目到我的愿望清单.对于这样的事情,你会建议使用数据会话或短暂会话来加载页面吗?速度对我来说很重要,我正在尝试在Objective-C中尽可能地优化(yupp,甚至几毫秒).

该页面基本上加载了产品页面,因此除了实际产品之外的所有内容总是相同的(背景视图,网站菜单栏,按钮图像等).现在我正在使用NSURLConnection,我正在尝试更新我的代码以使用NSURLSession.

1 个回答
  • 默认会话的行为与其他用于下载URL的Foundation方法类似.他们使用基于磁盘的持久缓存并在用户的钥匙串中存储凭据.

      使用全局或共享cookie,缓存和凭据存储对象的配置.行为类似于NSURLConnection.

      共享会话使用全局单例凭证,缓存和cookie存储对象.这可以用来代替使用+ [NSURLConnection sendAsynchronousRequest:queue:completionHandler:]的现有代码

    短暂的会话不会将任何数据存储到磁盘; 所有缓存,凭据存储等都保存在RAM中并与会话绑定.因此,当您的应用程序使会话无效时,它们会自动清除.

      私有会话配置不会持久存储cookie,缓存和凭据存储对象.如名称所示,配置设置是短暂的,并在会话失效时被删除.

    后台会话与默认会话类似,只是一个单独的进程处理所有数据传输.后台会话具有一些其他限制,如" 后台传输注意事项 "中所述.

      后台会话类似于默认会话,但它可以用于在某些约束内代表挂起的应用程序执行网络操作.

      与默认会话类似,但即使应用程序处于挂起状态,也可以执行数据的上载或下载.

    来自Apple Doc的参考

    //Default session
    + (NSURLSessionConfiguration *)defaultSessionConfiguration;
    
    //Ephemeral
    + (NSURLSessionConfiguration *)ephemeralSessionConfiguration;
    
    //Background 
    + (NSURLSessionConfiguration *)backgroundSessionConfiguration:(NSString *)identifier;
    

    NSURLSession任务和代理

    下图说明了NSURLSession任务的类型及其层次结构.

    更多细节

    在此输入图像描述

    2023-02-06 13:24 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有