移动开发

Java并发编程——ForkJoinPool之WorkQueue

一、ForkJoinPool ForkJoinPool 是 JDK7 引入的,由 Doug Lea 编写的高性能线程池。核心思想是将大的任务拆分成多个小任务(即fork),然后在将多个小任务处理汇总到一个结果上(即join),非常像MapReduce处理原理。同时,它提供基本的线程池功能,支持设置最大并发线程数,支持任务排队,支持线程池停止,支持线程池使用情况监控,也是AbstractExecut

Swift枚举详解

和结构体一样,swift中的枚举也是值类型。除了定义一个或多个case成员,还可以做以下事情: 可以定义方法,计算属性,下标 可以通过mutating定义可变方法 可以扩展,遵守协议,支持范型 和结构体的唯一区别就是枚举不能定义存储属性 1. 枚举的语法: enum TextAlignment{ case left case right case center } //

AutoLayout 和 AutoresizingMask的使用

Swift 中 AutoLayout 和 AutoresizingMask 用于自动调整视图的布局,以适应不同大小的设备和屏幕方向。两种方法都可以用来处理视图的自动适应问题,但是它们的实现有所不同。 AutoLayout AutoLayout是一个基于约束的视图布局系统,它可以使视图根据约束条件自动适应不同的设备尺寸和方向。通过添加约束条件,AutoLayout会计算出每个视图的正确位置和大小,

Android 版本与 API 级别对照速查表

很多开发者第一次打开 Android Studio 的「Project Structure」时,都会被 compileSdkVersion、minSdkVersion、targetSdkVersion 三个输入框搞得头大。 更可怕的是,Google 官方文档里一会儿说「Android 14」,一会儿又说「API 34」,到底谁对应谁&#xff

Android登录拦截场景-探讨多种实现方式

前言 本文是基于之前的系列文章做的一个合集,精简之后整理为一篇长文供大家参考。合集的入口在此。合集内部有每种方案的详细使用手册,大家可以对照本文参考使用。 登录拦截与放行是大部分App开发都会遇到的一个场景,如果你的App有游客模式,但是部分高级功能需要登录之后才能使用。 那么我们就需要在用户点击这个操作的时候校验是否登录,当登录完成之后再跳转到指定的页面或弹窗。如果这些入口很多的话,那么我们就需

响应式编程之手写Reactor

前言 前文提到了响应式编程,响应式规范Reactive streams,以及响应式扩展Reactor的简单使用 在使用Reactor时我一直很好奇,它是怎么做到的? 好奇心驱使我想要自己去写一个Reactive streams的实现,并参照Reactor源码来看看大神是如何实现的 话不多说,开始写代码(本文比较啰嗦,因为掺杂了自己的实现思路) 简单序列的发布者 看一下Reactor的一个简单例子

iOS14 Universal Link隐藏顶部横幅方法

配置好Universal Link之后顶部都会有一个打开app的横幅,有时候我们不想显示这个横幅,iOS14之后苹果官方给出了解决办法。 假设Universal Link为www.abc.com 在浏览器输入www.abc.com会自动定位到www.abc.com/main,这时如果想要隐藏www.abc.com/main这个地址下顶部的横幅,方法如下: 单个app: { "applinks"

Mac 软件出现「应用程序“xxx”不能打开」的解决办法

一、问题原因我们在互联网上下载 Mac 软件时,经常会遇到安装或打开时出现以下提示: 「应用程序“xxx”不能打开」 乍一看似乎是应用程序损坏,实际上并不是。 真正原因是:应用程序文件的权限错误,缺少可执行权限。 二、解决步骤 打开应用包内容 选中软件图标 → 右键点击 → 选择「显示包内容」。 进入以下路径&#xff

记录一次macbook 安装macOS+win11双系统的历程。包括MacBook电脑恢复、绕过win11限制等

一、MacBook恢复macOS系统,或有问题可以重新用此操作关机状态,同时摁住 option+command+R 三个键,然后再摁开机键,等出现 一个地球的图标即可松开。 然后正常链接wifi,让它自动下载一些组件即可。 这里对硬盘进行重新格式化(因为我这里的MacBook是安装了Window

Android组件开发

一、背景 一个app随着业务增加,代码放在同一个模块中会越来越臃肿,同时也导致多人开发的一个难度。组件化可以把业务单独分出来,形成一个单独模块,可单独运行、测试等,相互之间不会影响。另外一个优势,如果一个公司有多个app,总会出现一些相同业务,如登录/注册。我们可以单独把公共业务封装成一个单独模块,供所以app使用,提高了开发成本 二、项目结构 如下图1,项目分成了4层,第一层app壳,这个也就是