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

我想做一个小网站搞页游该怎么做武汉网络推广公司排名

我想做一个小网站搞页游该怎么做,武汉网络推广公司排名,摄影网站源码,青岛建网站什么是防抖,为什么要防抖? 比如我们在文档在线编辑中修改文档内容,总不能打一个字就发送一次更新请求吧,用户疯狂点击一个按钮,总不能一直触发按钮的逻辑吧。防抖被用于避免频繁触发的事件。 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.pjxw.cn/news/25606.html

相关文章:

  • 那里有做网站的怎样做搜索引擎推广
  • 广州做营销型网站最近新闻小学生摘抄
  • 苏州网站开发公司哪里济南兴田德润简介谷歌引擎搜索
  • 开发者社区seo推广公司哪家好
  • 网站模板出售宝鸡网站开发公司
  • 怎么做网站封面上的图正规教育培训机构
  • 做音乐网站的目地东莞优化网站制作
  • 广州专业做网站建设如何发布自己的网站
  • 鞍山做网站专业公司互联网营销师考试题库
  • 怎么做网站数据库手机百度seo怎么优化
  • wordpress 文章索引插件安徽网站优化
  • 网页制作需要哪些软件谷歌seo优化
  • 如何用webstrom做网站广州市口碑seo推广
  • 泰安有口碑的企业建站公司乔拓云智能建站平台
  • 上线了 做商务网站成都比较靠谱的seo
  • 没有备案的网站可以做淘宝客江苏seo技术教程
  • 正能量网站入口地址网络上如何推广网站
  • 网站域名一年多少钱上海seo搜索优化
  • 网站自动弹窗代码seo tdk
  • 建立网站的必要性百度问一问客服人工在线咨询
  • 网站建设免费制作链接的app的软件
  • 基于h5的个人网站建设定制网站开发公司
  • 大连网站开发师长沙seo网络优化
  • 网站论坛怎么做 csdn站长工具樱花
  • 浙江建设职业技术学院继续教育学院网站域名解析ip
  • 手机软件开发app需要学什么seo网站查询
  • 做网站和做app哪个更难免费推广网站
  • 施工程找工程做哪个网站好北京seo全网营销
  • 推广网站有效的方法河南制作网站公司
  • 外挂网站怎么做武汉百度seo排名