移动开发

APP启动流程源码分析1

启动流程为什么要了解 不了解 ,平时开发好像也没啥问题啊。其实不然,解决这些问题后,你会对Android系统有更深层次的理解,也会学习到系统源码优秀的设计。并且对解决一些高级问题和深入的性能优化问题有很大帮助,是技术进阶的必要阶段。这就需要我们通过阅读源码来梳理这些问题,但另一方面,系统源码是很庞大繁杂的,我们需要带着问题抓住主流程,不能陷入代码细节——这是阅读系统源码以及其他第三方库源码的正确姿

浅析iOS开发的那些架构:MVC/MVP/MVVM

前言 很早以前就想总结一下,iOS开发中常用的一些架构:MVC、MVP、MVVM;但是一直感觉自己没有理解透彻,因为发现自己理解的和网上其他人的总是有出入;网上的众说纷纭,仁者见仁智者见智; 随着经验的增长,自己对于这些架构的理解每次都有不同的收获,渐渐的可能和最初了解的情况大相径庭; 现在转念一想,架构这些事情并没有绝对的对错,也不会有什么标准答案;每个人都会结合自己的经验加以理解,实践出最符合

RunLoop最细详解

Runloop的实现机制 RunLoop 通过mach_msg()函数接收、发送消息。它的本质是调用函数 mach_msg_trap(),相当于是一 个系统调用,会触发内核状态切换。在用户态调用时会切换到内核态; 而内核态中内核实现了mach_msg()函数会完成实际的工作。 RunLoop基本作用 保持程序的不断运行 处理App中的各种事件,触摸事件,定时器事件 节省CPU的资源,提高程序

(二)Android引入ffmpeg编译后的so库

如何编译ffmepg的动态链接库,可以看这里:#。 1、新建项目,将编译好的ffmpeg库,拷贝到项目的libs文件夹中。 image.png 2、在src/main路径下,创建cpp文件夹,将编译好的头文件放到cpp文件夹下,并创建一个native-lib.cpp文件(暂时不需要在里面写代码) image.png 3、创建CMakeLists.txt文件 ima

Android流光动效(移动光效)View

效果预览 流光效果.gif 功能说明 支持任意类型视图View上面的流光动效(包括但不限于View、ImageView、TextView、Button或者他们的任意组合的ViewGroup); 支持修改光效宽度; 支持修改光效颜色; 支持修改光效移动速率; 支持设置View动效的圆角; 支持修改光效入射角度(斜率); Screenshot_2022-04-21-11-46

iOS 开发随笔 (Xcode 13 + iOS 15兼容)

URL Scheme     通过 Xcode13 运行的APP,在 iOS15 系统上会限制 info.plist 的 scheme 白名单个数为 50 个 UITableView sectionHeaderTopPadding     使用 UITableViewStylePlain 初始化 UITableView 的时候,会发现 section header 多出了一截,默认顶部边距为22p

HPC 编译 FaSTMM

工作需要在 HPC 集群上编译 FaSTMM,踩了一些小坑之后解决了问题。现将主要步骤总结如下: 首先,我测试时集群上的 HDF5 几个版本均不奏效,因此需要自己编译具有 Fortran 支持的 HDF5。这一步比较简单,我写在了另一篇文章里: HPC 编译 HDF5。 FaSTMM 依赖于 LAPACK 和 BLAS,编译脚本需要 CMake,还需要 Fortran 编译器来进行编

校园水电费管理|基于java的校园水电费管理小程序系统 (源码+数据库+文档)

校园水电费管理目录基于java的校园水电费管理小程序系统一、前言二、系统设计三、系统功能设计 小程序端后台功能模块四、数据库设计 五、核心代码 六、论文参考七、最新计算机毕设选题推荐八、源码获取: 博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台Java领域优质创作者,专注于大学生项目实战开

iPhone屏幕尺寸和开发适配

image.png iOS真机适配: // 屏幕宽度 public static let Screen_Width: CGFloat = UIScreen.main.bounds.width // 屏幕高度 public static let Screen_Height: CGFloat = UIScreen.main.bounds.height // 是否iPhoneX系列 publ

JavaScript_对象

一、时间对象(Date) (一)Date对象的创建 var d = new Date() // 创建一个时间对象,默认情况下,获取当前的时间和日期。 // 创建日期对象并指定时间 var d = new Date("2015/08/22"); var d = new Date(2016, 8, 13, 14, 34); (二)Date对象的方法 date.toDateString(); /