移动开发

IOS之二进制重拍

原理 App包数据并不是在启动的时候一次全部加载到内存中的,而是类似于懒加载的方式,以每页16KB的数据进行分页加载。启动的时刻,也是缺页加载次数最多的时刻。因为启动用到的类和方法,并不是全部集中在某几页数据中,而是根据编译顺序,分散到不确定的分页数据中。我们做二进制重拍,也就是要让启动用到的函数,集中到最前边的几张表中,减少分页加载的次数,也就节约了启动时间。 那么为什么减少分页加载的次数,可以

iOS开发 动态修改状态栏颜色

关于状态栏UIStatusBarStyle 状态栏有以下几种显示风格: 1.UIStatusBarStyleDefault 2.UIStatusBarStyleLightContent API_AVAILABLE(ios(7.0)) 3.UIStatusBarStyleDarkContent API_AVAILABLE(ios(13.0)) 4.UIStatusBarStyleBlackTrans

全面掌握组件化ARouter,即刻吊打面试官!

前言 为了实现组件化要解决的几个问题点,其中 页面跳转、组件间通信 的问题是使用了 ARouter 这个框架来解决的。ARouter确实是专门用于做组件化改造,官方是这么介绍的: 一个用于帮助 Android App 进行组件化改造的框架 —— 支持模块间的路由、通信、解耦 是时候对 ARouter 这个强大的框架做一个解析了:它是如何做到 页面跳转、组件间通信 的?我们能从ARrouter中

被迫开始学习Typescript —— class (有彩蛋哦)

TS 的 class 看起来和 ES6 的 Class 有点像,基本上差别不大,除了 可以继承(实现)接口、私有成员、只读等之外。 参考: 基本用法 我们可以定义一个 class,设置几个属性,然后设置一个方法,封装 Object.assign 简化reactive 的赋值操作。 创建自己的对象基类 im

OAuth2生成token代码备忘

一、登录接口(用户名+密码) 1、前端请求auth服务 2、请求数据 { "mobile": "134178101xx", "password": "123456" } 3、Controller方法 @SneakyThrows @PostMapping("pwdLogin") @Sig

iOS 多线程原理 - GCD函数底层

libdispatch-1271.120.2 下载 苹果官方资源opensource 多线程相关文献: iOS 多线程原理 - 线程与队列底层 iOS 多线程原理 - GCD函数底层 iOS 线程底层 - 锁 本章节探究: 1.单例 dispatch_once 2.栅栏函数 barrier 3.调度组 group 4.信号量 semaphore 5.dispatch_source 前言 在了解了线

Flutter Expanded 与 Flexible 详解

目录1. 引言2. Expanded 的基本用法3. Flexible 的基本用法4. Expanded vs Flexible 的区别4.1 基础定义4.2 关键差异5. Expanded 深度解析5.1 按比例分配5.2 强制填充特性6. Flexible 深度解析6.1 基础用法:动态收缩6.2 结合 fit 参数控制填充方式7. 实战场景对比场景1:导航栏布局&

12.《JavaEE 学习笔记》自定义标签库

参考链接: 1、定义 自定义标签是用户定义的JSP语言元素。当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对被 称为tag handler的对象的操作,即当servlet执行时Web container调用那些操作。 JSP标签扩展可以让你创建新的标签并且可以

安卓AlertDialog源码分析

首先我们来看个问题:AlertDialog怎么更改按钮颜色 有时我们遇到产品或者视觉设计需要改变AlertDialog的按钮颜色时候,我们先来看一下AlertDiglog简单使用方法。 我想改变"没希望"这个按钮的颜色值,目前AlertDialog的按钮颜色值是根据主题色来确定的,但是我不想改变主题色,会影响其他一些控件。具体代码实现: 需加在dialo

蓝牙 HFP 协议详解及 Android 实现

文章目录 前言 一、什么是蓝牙 HFP 协议? HFP 的核心功能HFP 的核心功能 HFP 在 Android 中的典型应用场景 二、HFP 协议的工作流程 HFP 的连接流程 三、HFP 在 Android 的实现 1. 检查蓝牙适配器状态 2. 发现并检测支持 H