layoutSubviews简要解析

The default implementation of this method does nothing on iOS 5.1 and earlier. Otherwise, the defaul
分类: 移动开发 发布时间: 10-12 06:37 阅读次数: 0

SwiftProtobuf的源头Protobuf是什么

小知识,大挑战!本文正在参与「程序员必备小知识」创作活动 本文已参与 「掘力星计划」 ,赢取创作大礼包,挑战创作激励金 protobuf是啥玩意儿? 为了照顾从没听说过的同学,照例先来扫盲一把。   
分类: 移动开发 发布时间: 10-12 06:03 阅读次数: 0

iOS自动释放池AutoreleasePool

引言 我们项目的main函数中有一个自动释放池@autoreleasepool,我们的代码都是运行在这个自动释放池之中 我们通过查看其底层代码实现逻辑查看其实现细节 打开main.cpp文件查看 从这
分类: 移动开发 发布时间: 10-12 06:03 阅读次数: 0

Swift 泛型协议

之前在一些分享会上经常听到 类型擦除(Type Erase)这个概念,从其命名上大概知道它要干什么,但是对于为什么要用它?以及什么场景下使用它?对此,我并没有深刻的理解。于是,借着假期好好研究了一下。
分类: 移动开发 发布时间: 10-12 06:03 阅读次数: 0

ASO小知识:tweak去掉对rocketbootstrap的Depends依赖

在ASO项目中常常基于Rrocketbootstrap封装Message工具类进行进程间的消息通信,为了避免每次部署都从bigBoss 源更新。本文就来讲讲如何去掉对rocketbootstrap的D
分类: 移动开发 发布时间: 10-12 06:03 阅读次数: 0

iOS抽奖转盘上篇:概率抽奖算法 & 转盘算法 &轮盘边框动画丨(内含完整Demo)

在app侧控制中奖奖品,有两种方式 方式一:发起网络请求获取当前选中奖品(推荐),即由服务侧控制中奖数据,更安全 方式二:根据奖品百分比进行控制中奖概率
分类: 移动开发 发布时间: 10-12 06:03 阅读次数: 0

JetPack Compose 底部导航栏实现

开发一个新项目,底部导航栏一般是首页的标配,在以前的xml布局中,我们可以很轻松的是用谷歌提供的BottomNavigationView或者自定义来实现底部导航的功能,在Compose中也有也提供了一
分类: 移动开发 发布时间: 10-12 06:03 阅读次数: 0

iOS @synchronized() 底层原理探索

多个@synchronized() 嵌套,没有意义也不会报错;是objc中提供的同步锁,支持递归。但是在swift中删除了,可以使用objc_sync替代。 读完本文你可以了解到synchronize
分类: 移动开发 发布时间: 10-12 05:30 阅读次数: 0

iOS 设计模式 浅析MVC、MVP、MVVM

实战中一步步分析iOS设计模式演进之路 从传统的MVC-->MVP-->MVVM,为你解答原理,对比分析优缺点
分类: 移动开发 发布时间: 10-12 04:57 阅读次数: 0

iOS之结构体内存对齐

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。 内存对⻬的原则 数据成员对⻬规则:结构(struct)或联合(union)的数据成员,第⼀个数据成员放在offset为0的地⽅,以后每个数据
分类: 移动开发 发布时间: 10-12 04:57 阅读次数: 0

iOS开发-加载视图控制器并在它们之间传递值的技术—第 1 部分

大多数显示多个内容的 iOS 应用程序也包含多个 视图控制器。如果您的应用程序不是基于导航控制器或标签栏控制器,而是基于单个视图的应用程序,那么加载并向用户呈现各种视图控制器是一项必须手动完成的任务。
分类: 移动开发 发布时间: 10-12 03:17 阅读次数: 0

WWDC | 8 分钟优化你的 App Store 产品页

WWDC 21 《Get ready to optimize your App Store product page》,由 Apple 媒体产品工程团队的 Prabha 讲解
分类: 移动开发 发布时间: 10-12 03:17 阅读次数: 0

❤️ Android 源码解读-应用是如何启动的❤️

作为多年的 Android 开发,写了不少应用,但是一个App到底是怎么启动起来的?你要说桌面点一下就启动了,那也对。但是它的启动过程呢?带着这样的疑问,咱们来一步步学习。
分类: 移动开发 发布时间: 10-12 03:17 阅读次数: 0

专业度拉满!如何让你的掘金文章动态自动同步到Github个人主页

相信很多程序员都有自己的博客和Github上,那你没有想过,当你发布一篇博客的时候,你的Github个人主页上自动添加你最新的博客链接呢?另外,本文还有一些其他技术手段,将你Github的专业等级拉满
分类: 移动开发 发布时间: 10-12 03:17 阅读次数: 0

Android invalidate/postInvalidate/requestLayout 彻底厘清

前言 前几篇分析了Measure、Layout、Draw 过程,这三个过程在第一次展示View的时候都会调用。那之后更改了View的属性呢?比如更改颜色、更换文字内容、更换图片等,还会走这三个过程吗?
分类: 移动开发 发布时间: 10-12 01:37 阅读次数: 0

LLVM编译流程 & Clang插件开发

本文主要是理解LLVM的编译流程以及clang插件的开发 LLVM LLVM是架构编译器的框架系统,以C++编写而成,用于优化任意程序语言编写的程序的编译时间(compile-time)、链接时间(l
分类: 移动开发 发布时间: 10-12 00:31 阅读次数: 0

启动优化(一)基本概念

虚拟内存 & 物理内存 早期的数据访问是直接通过物理地址访问的,这种方式有以下两个问题: 1、内存不够用 2、内存数据的安全问题 针对问题1,我们在进程和物理内存之间增加一个中间层,这个中间层就是所谓
分类: 移动开发 发布时间: 10-12 00:31 阅读次数: 0

启动优化(三)二进制重排

前提,在之前的两篇文章中,大致介绍了一些基本概念以及启动优化的思路,下面来着重介绍一个pre-main阶段的优化方案,即二进制重排,这个方案最开始是由于抖音的这篇文章抖音研发实践:基于二进制文件重排的
分类: 移动开发 发布时间: 10-12 00:30 阅读次数: 0

iOS小知识之iOS的架构设计

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。 MVC: M 是数据模型Model,负责处理数据,以及数据改变时发出通知(Notification、KVO),Model和View不能直接进
分类: 移动开发 发布时间: 10-12 00:30 阅读次数: 0

iOS底层探索-内存管理理论

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。 上一篇文章我们简单介绍了可执行文件Mach-O的结构,本篇我们主要看一些内存的理论知识,从物理内存管理时代开始。 直接物理内存管理 这种加载
分类: 移动开发 发布时间: 10-12 00:30 阅读次数: 0