当前位置: 首页 > news >正文

html5做网站系统安徽工程建设信息网官网

html5做网站系统,安徽工程建设信息网官网,营销型网站制作的目的是,wordpress 游戏插件下载什么是防抖,为什么要防抖? 比如我们在文档在线编辑中修改文档内容,总不能打一个字就发送一次更新请求吧,用户疯狂点击一个按钮,总不能一直触发按钮的逻辑吧。防抖被用于避免频繁触发的事件。 Swift实现防抖代码&…

什么是防抖,为什么要防抖?

比如我们在文档在线编辑中修改文档内容,总不能打一个字就发送一次更新请求吧,用户疯狂点击一个按钮,总不能一直触发按钮的逻辑吧。防抖被用于避免频繁触发的事件。

Swift实现防抖代码:

import Foundationclass Debouncer {var delay: TimeIntervalvar timer: Timer?var closure: (() -> Void)?init(delay: TimeInterval) {self.delay = delay}func debounce(closure: @escaping () -> Void) {self.closure = closuretimer?.invalidate()timer = Timer.scheduledTimer(timeInterval: delay, target: self, selector: #selector(fire), userInfo: nil, repeats: false)}@objc func fire() {closure?()}
}let debouncer = Debouncer(delay: 0.5)func action() {print("Debounced action executed")
}debouncer.debounce {action()
}debouncer.debounce {action()
}

什么是图片预加载,为什么要预加载,为什么要拼接?

图片要被渲染到屏幕上,要经历解码的阶段,图片一解码就会大很多,几MB的解码之后可能占几十MB的内存,在Swift中,图片在UIImageView设置.image属性的时候才会被解码,我们想要提前加载的话就要用UIGraphicsImageRenderer来获取图像,还有一种情况就是尺寸非常大的图片,比屏幕都大,直接解码渲染就会占很大的内存,我们还可以在预加载中对图片尺寸进行一个处理,避免内存的浪费,多张图片的拼接显示可以减少渲染次数,减少对象的创建,能提高性能。

下面是Swift代码:

import UIKitclass ViewController: UIViewController {lazy var imageView: UIImageView = {let imageView = UIImageView(frame: self.view.frame)return imageView}()override func viewDidLoad() {super.viewDidLoad()let imageUrls = [URL(string: "https://images.pexels.com/photos/356830/pexels-photo-356830.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2")!,URL(string: "https://images.pexels.com/photos/356830/pexels-photo-356830.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2")!]let dispatchGroup = DispatchGroup()var images = [UIImage]()for url in imageUrls {dispatchGroup.enter()URLSession.shared.dataTask(with: url) { data, _, error indefer { dispatchGroup.leave() }if let data = data, let image = UIImage(data: data) {images.append(image)}}.resume()}dispatchGroup.notify(queue: .main) {if let combinedImage = self.combineImages(images: images) {self.imageView.image = combinedImageself.view.addSubview(self.imageView)}}}func combineImages(images: [UIImage]) -> UIImage? {let renderer = UIGraphicsImageRenderer(size: self.view.frame.size)let combinedImage = renderer.image { context invar currentX = 0.0for image in images {image.draw(at: CGPoint(x: currentX, y: 0))currentX += image.size.width}}return combinedImage}
}

本文的内容就到这里啦,喜欢博主的可以点点关注。

http://www.yayakq.cn/news/464348/

相关文章:

  • 怎么能让我的网站被百度收录失信被执行人
  • 梅州网站开发网站样式模板
  • 网页游戏网站7seo网站外包公司
  • 专业做视频的网站西安建设工程信息网诚信平台
  • 郑州机械网站制作临沂森工木业有限公司
  • 免费做网站的方法郑州网站设计汉狮
  • 网站做推广页需要什么软件有哪些wordpress提示无法创建目录下
  • 如何创建自己的个人网站修车店怎么做网站
  • 建设工程敎育那个网站大疆网站建设
  • 西宁网站建设嘉荐君博l制作网站公司选 择乐云seo
  • 网站建设建设公司资质要求如何做聊天网站
  • 深州网站专门做动漫的网站有哪些
  • .gs域名做网站怎么样服装网站建设规划书需求分析
  • 网站首页如何做浮动窗口文艺主题wordpress
  • 茌平做创建网站公司探马scrm
  • No酒类网站建设家教网站模板下载
  • 网站容易出现的问题吗山西企业网站建设
  • 开封专业做网站公司2018钓鱼网站建设
  • 网站建设可行性研究百度小程序开发平台
  • 大连网站制作的公司营销型网站要多少钱
  • 重庆大型的网站建设平面设计网课推荐
  • 什么是做自己的网站中信建设四川分公司招聘
  • 全国精品课程建设网站住房和城乡建设部网站诚信评价
  • 电子商务网站开发主要实现功能网站阶段推广计划
  • 各大网站域名大全.net网站吃内存
  • 做名片用什么网站博客 系统 wordpress
  • 资生堂网站建设长沙制作网页联系方式
  • 建站有哪些需求一般做网站的在哪里找
  • 网站优化步骤郑州seo技术顾问
  • 做同城相亲网站做网站去哪里做