移动开发

节流

为什么要限制事件的频繁触发,以及如何做限制: 1.debounce 防抖 2.throttle 节流 今天重点讲讲节流的实现。 节流 节流的原理很简单: 如果你持续触发事件,每隔一段时间,只执行一次事件。 根据首次是否执行以及结束后是否执行,效果有所不同,实现的方式也有所不同。 我们用 leading 代表首次是否执行,trailing 代表结束后是否再执行一次。 关于节流的实现,有两种主流的实现

Android-推荐一个沉浸式状态栏开源库(ImmersionBar )

图片来源网络,入侵必删 在日常的Android开发中,我们肯定遇到沉浸式的开发需求。在大多数项目当中,都会使用ImmersionBar开源库适配。这篇博客分享一下ImmersionBar相关的知识,希望对看文章的小伙伴有所帮助。 ImmersionBar依赖 mavenCentral版本: // 基础依赖包,必须要依赖 implementation 'com.geyifeng.imme

dispatch_group_leave崩溃

崩溃描述 image.png 近日排查线上崩溃时,发现一个描述信息很少的崩溃,如上。由dispatch_group_leave.cold.1可知,属于dispatch_group异常 dispatch_group使用 dispatch_group使用场景:A任务依赖B/C/D子任务全部执行完成,才进行触发执行。 如何添加子任务,通常有两种方式: block dispatch_gr

Swift 实现自定义 UICollectionView的 section 背景

自定义 section 背景 首先创建一个 section装饰背景注册类, 内部包含一个 UIImageView, 可作为自定义背景填充视图 class SectionBackgroundReusableView: UICollectionReusableView { static let BACKGAROUND_CID = "BACKGAROUND_CID" private

如何做好小程序评论优化

     用户在决定要不要用一个小程序时,往往会参考其他用户的评分和评论。因此小程序评论优化是提升用户互动和口碑传播的关键环节。以下是一些针对小程序评论优化的具体策略:1. 优化评论区设计     确保用户能够轻松找到并访问评论区。可以在小程序的显眼位置设置评论入口,如页面底部或侧边栏。     优化评论输入框的用户体验,提供语音输入、表情符

Android graphics(一) 框架

一、概要 android graphic图形显示系统,android系统最核心功能之一。本文以分析graphic整体框架为主。最终以知道图形显示系统如何工作为目的。偏向于介绍基础和概念 image.png 谷歌这张图中有四个重要角色:要显示的页面、buffer queue、surfacefinger、hwcomposer 要显示的页面 安卓显示的一个页面一般包含:statusbar、a

flutter:如何实现局部导航管理?

引言 今天,小编给大家分享如何在 flutter 中实现 ‘局部导航’。开始之前我们先来统一一下关于 局部导航 的概念。 局部导航是什么? 我们在 flutter 中使用 navigator 来管理 app 的页面堆栈,主要包括 push、pop 这两种操作。而当我们UI设计划分得更细致时,可能遇到需要在某个独立页面里,单独维护一套子级的堆栈管理。这就叫 局部导航管理。 局部控件内单独维护局部范围

Flutter多渠道打包的解决方案(walle)

背景 我们的应用集成了TalkingData这个第三方工具来统计日活、事件等,需要在应用启动时初始化SDK,这个时候需要传入当前渠道,以便数据的统计。 由于最开始是用脚本一个个打包,一直想解决打包过慢的问题,但是网上大多教程是基于命令行参数或flavor,实质上并没有根本解决打包效率的问题。直到发现了文章的主角 walle。 应用解决方案 walle walle是美团开源的一个打包插件,这里就

基于Telegram二次开发 --- MTProtoKit 架构

MTProto 是 Telegram 的核心协议,旨在支持多种传输协议;当前版本的 Telegram-iOS 仅支持 TCP 传输;HTTP 传输已于 2018 年删除;VoIP 模块 libtgvoip 支持 UDP 和 TCP 传输。 MTProtoKit 源码仓库 MTProto 官方文档 Telegram-iOS 在 Network 内置了用于冷启动的种子地址: let seedAdd