移动开发

节流

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

安装2024最新版Android Studio 最详细教程(带图展示)

一、安装JDK(1)首先在除C盘以外的盘建立文件夹,分别保存软件位置,JDK位置与SDK位置,特别注意:所有文件名中不要出现空格,而且每个文件夹都是为空的状态这里我是在D盘中操作。 (2)安装配置JDK,这里安装的是JDK17的版本,如果以前安装

Kotlin用@Parcelize实现序列化Parcelable

简介 在Android项目中经常要对Bean进行Parcelable序列化,也有很多序列化工具。Android中提倡通过实现Parcelable来对对象序列化,但是如果是使用Java开发实现起来就比较繁琐,而Kotlin提供了@Parcelize,可以轻松实现对Bean的序列化及反序列话。先看看官方对@Parcelize的解析: /** * Instructs the Kotlin compil

Mac OS14外接显示器字体过小和放大字体模糊问题的简单解决

文章目录 问题简述 解决方法 问题简述使用Mac mini外接2K 显示器时,默认分辨率是25601440,字体较小,如果切换成19201080,字体又变大模糊。 解决方法使用HiDP I(一种显示技术,使用多个物理像素显示1个像素区域,让显示效果更清晰、边缘更平滑)。

YYSegmentViewController 分页控制器的介绍

github地址: 一、页面介绍 YYSegmentConfig:配置文件 YYSegmentViewController:控制器 YYContainerScrollView:控制器view底部的ScrollView YYControllerPageView:控制器view的容器 YYSeg

悬浮窗

一、原理 1、添加独立的View 我们在APP中想不依赖Activity中的布局添加View时,可以通过WindowManager.addView()的方式,创建一个window,并显示添加的View。 2、Window可分为三类 应用window:一般位于最底层,对应一个Activity; 子window:不能单独存在,需要附属在父window上,如Dialog; 系统window:一般位于最顶

android studio模块化之模块划分简易版

模块也好,组件也罢,都是需要做好模块区分的。 一、新建module 修改你的模块名,比如你原来的包名是aaa.bbb.ccc,那么模块名就会是aaa.bbb.模块名 二、统一依赖 当我们建立好的module之后,发现主项目app和mudole各自的build.gradle文件都有一些相同的依赖,这个这个时候,需要进行管理,避免混乱。 一些相同的依赖

自定义Chronometer实现定时器

前言 在Android开发过程中,计时控件是经常回使用到的,在Android控件库中有一个能快捷实现计时功能的控件,它就是Chronometer,今天我们基于它自定义实现一个方便调用的计时控件TimeChronometer。 今天涉及知识有: Chronometer常用方法 TimeChronometer在Activity中使用 效果图和项目结构图 TimeChronometer源码 一

iOS获取设备唯一标识和UUID

UIDevice.current.identifierForVendor?.uuidString 以上获取uuidString的方法,每次重启都会改变。 但是项目的要求是不变,并且删除app 只有也有有保留的需求。显然这个无法满足我们的需求。 使用KeyChain解决 keychain(钥匙串)存储在iOS系统中,并且恢复iPhone会使keychain的内容也恢复.但是删除App是不会影响k

手写RxJava简易框架领悟RxJava的美秒

RxJava笔记 前言 看此篇之前最好知道RxJava的使用。由于RxJava内部源码实现有点复杂,既然用拆轮子的方式来分析源码比较难啃,不如换种方式,以造轮子的方式,将源码中与性能、兼容性、扩展性有关的代码剔除,只留下核心代码,加上我个人的理解,带大家揭秘RxJava的实现原理(本文不涉及框架的使用介绍)。 一、构建观察者类 Subsribler在RxJava里面是一个抽象类,它实现了Obs