MacOS下安装Lua运行环境 发表于 2022-02-07 字数统计: 295 | 阅读时长 ≈ 1 最近工作需要使用Lua语言搞项目,这里记录一下怎么在Mac下安装Lua的运行环境。 首先打开终端,cd 到/Users/用户名目录下,也就是你当前用户的目录下,然后依次输入如下命令: 1curl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gz 1tar z ... 阅读全文 »
iOS内存管理 发表于 2021-10-20 字数统计: 1,292 | 阅读时长 ≈ 5 iOS的内存管理,很经典的问题就是循环引用,我们通过定时器的循环引用问题来展开内存管理的学习。 定时器 使用CADisplayLink和NSTimer的时候为什么产生循环引用?我们通过代码来看一下:12345678910111213141516171819202122232425@interface ... 阅读全文 »
iOS多线程 发表于 2021-09-06 字数统计: 1,819 | 阅读时长 ≈ 7 iOS多线程iOS中常见的多线程方案 pthread是一套通用的多线程API,适用于Unix/Linux/Windows等系统,跨平台/可移植,使用难度比较大,生命周期由程序员管理 NSThread 是一个面向对象的线程类,简单易用可以直接操作线程对象,生命周期由程序员管理 GCD是为了替代NST ... 阅读全文 »
RunLoop详解 发表于 2021-08-28 字数统计: 1,063 | 阅读时长 ≈ 5 什么是RunLoop顾名思义,RunLoop就是运行循环,在程序运行过程中循环做一些事情。在iOS系统中RunLoop有以下应用场景: 定时器、PerformSelector CGD Async Main Queue 事件响应、手势识别、界面刷新 网络请求 AutoreleasePool 试想以 ... 阅读全文 »
Mac终端用ClashX翻墙 发表于 2021-08-20 字数统计: 374 | 阅读时长 ≈ 1 首先看一下你的ClashX的mixed-port是多少,方法如下图: 打开这个文件夹,然后打开config.yaml第一行就是我们要找的mixed-port,记一下这个端口号; 接下来配置终端,如果你用的是ZSH,使用CMD+Shif+. 显示隐藏文件,找到.zshrc 文件,打开后在里面加上这两 ... 阅读全文 »
iOS性能优化 发表于 2021-08-18 字数统计: 2,424 | 阅读时长 ≈ 9 CPU & GPU在屏幕成像的过程中CPU(Central Processing Unit,中央处理器)和GPU(Graphics Processing Unit,图形处理器)起到了至关重要的作用,简言之,CPU负责计算包括:对象的创建和销毁、对象属性的调整、布局计算、文本的计算和排版、图片 ... 阅读全文 »
iOS获取设备CPU时钟频率 发表于 2021-08-04 字数统计: 1,149 | 阅读时长 ≈ 6 背景 用户反馈在使用APP过程中设备发烫变卡,我猜测是因为温度过高导致CPU降频了,但是iOS系统是没有提供获取其时钟频率的接口,所以我就查资料自己尝试了一下 通过汇编语言计算得出iOS设备CPU的实时频率 下面介绍如何获取在AppDelegate.m 里面加入如下内容:1.把汇编文件cpuF ... 阅读全文 »
基于shared_preferences的本地存储 发表于 2020-04-29 | 分类于 flutter 字数统计: 274 | 阅读时长 ≈ 1 什么是shared_preferences?shared_preferences是Flutter社区开发的一个本地数据存储的插件: 简单的,异步的,持久化的key-value存储系统; 在Android上它是基于SharedPreferences的; 在iOS上它是基于NSUserDefaults ... 阅读全文 »
Flutter开发包和插件 发表于 2020-02-17 | 分类于 Flutter 字数统计: 1,209 | 阅读时长 ≈ 5 介绍一下包使用package可以创建共享的模块化代码。一个最小的package包括: 一个pubspeck.yaml文件:声明了package的名称、版本、和作者等的元数据文件。 一个lib文件夹:包括公开的pubulic代码,最少应该有一个<package-name>.dart文件。 ... 阅读全文 »
Flutter使用Packages 发表于 2020-02-16 | 分类于 Flutter 字数统计: 1,162 | 阅读时长 ≈ 4 使用 Flutter PackagesFlutter 支持使用其他开发者在Flutter和Dart生态系统中共享的包。这可以使你快速的构建一个应用而不必从头开发一切。这篇文章我来介绍一下如何使用已经发布的packages。 查找包使用一个包之前,首先得找到这个包,我们可以访问pub.dev来查找你需 ... 阅读全文 »