-
设计模式
目录 MVC/MVP/MVVM 适配器模式 装饰器模式 中介者模式 代理模式 工厂模式MVC/MVP/MVVMMVC介绍 将应用的 数据(Model)、界面(View) 和 业务逻辑/协调(Controller) 分离开来,从而降低耦合度主要内容 Model(模型层)主要负责 数据承接 和 数据处理 View(视图层)负责显示数据和与用户进行交互,不关心数据来源。 Controller(控制器层):将model传递给view显示,处理view的用户交互...…
-
Swift概要
目录 常量/变量/数据类型 闭包 可选项 枚举/结构体/类 协议 泛型 模式匹配 其它 重要变量与数据类型一、常量//不要求编译时确定,如果声明时没有值需要指定类型let a: Int = 10 //可以省略类型说明和结尾的分号let a = 10 二、变量var isClick:Bool = false //可以省略类型说明和结尾的分号var a:Int = 0; var a:Float = 10.0; var a:Double = 10.0;var cha:Chara...…
-
OC概要
目录 1.0生命周期及响应者链 1.1对象的本质 1.2kvc/kvo 1.3Category 1.4block 1.5数据存储 1.6内存管理 1.7编码及加解密 2.1Runtime 2.2多线程 2.3Runloop 2.4Autorelease 3.1WebView1.0生命周期及响应者链一、生命周期考察viewDidLoad、viewWillAppear、ViewDidAppear等方法的执行顺序。 假设现在有一个 AViewController(简...…
-
Vue3概要
目录 组合式api 父子通讯 双向绑定 路由 pinia pinia的持久化组合式api一、文件样式// 行为<script setup>// setup语法糖,比beforeCreate执行时机更早 // 用来声明响应数据 import { ref } from 'vue'// 声明普通数据 const message = 'this is a message'const logMessage = () => { console....…
-
Vue2概要
目录 开发 Vue 的两种方式 Vue文件 Vue中的指令 父子组件通信 双向绑定 插槽slot vue-router vuex开发 Vue 的两种方式一、传统模式核心包传统开发模式:基于 html / css / js 文件,直接引入核心包,开发 Vue。<body> <div id="app"> <h1 class="title"></h1> <div @click="title =...…
-
JavaScript概要
目录 语言 变量/函数提升 构造函数 原型对象 this指针 闭包 异步 事件循环 定时器 捕获与冒泡 Dom 其它语言一、常量变量// 常量:不允许修改const pi = 3.14 // 变量:可以修改let num = 99 num= 100 二、基本数据类型// booleanlet isClick = false// number(NaN也是number类型 浮点也是number类型)let a = 0// stringlet str = 'hello w...…
-
HTML概要
目录 选择器 伪类 属性继承 元素分类 水平居中 vertical-align 浮动 定位元素 flex布局 脱标汇总 平面转换 适配方案选择器1、选择器的介绍 标签选择器 div { } id选择器 #content { } 类选择器 .word { } 属性选择器 [title] { } 后代选择器 div span { } 子选择器(直接子元素) div > span { } 兄弟选择器(相邻兄弟) div + p { } 兄弟选...…
-
Git概要
参考:玩转Git三剑客目录 速记 名词解释 1、Git介绍 2、Git基础 3、Git基础(二) 4、Git基础(三) 5、Git基础(四) 6、Git独自使用 7、Git独自使用(二) 8、Git独自使用(三) 9、分支操作 10、Git与GitHub简单同步 11、Git多人协作 12、Git集成使用禁忌 13、分支开发工作流速记一、查看相关指令 git命令 说明 git help -a...…
-
Net概要
目录 0、速记 1、基本概念 2、基本概念(二) 3、MAC_IP地址 4、路由 5、网络分层(物理层、链路层) 6、网络层 7、传输层 8、TCP_可靠传输 9、TCP_流量控制、拥塞控制 10、TCP_序号、确认号 11、连接、释放连接 12、应用层 13、HTTP 14、HTTP(二) 15、HTTP(三) 16、HTTP(四) 17、HTTP(五) 18、网络安全 19、HTTPS 20、HTTP的升级改进 21、其它协议 22、补充0...…
-
Language
目录 常量 变量与数据类型 分支结构 循环结构 面向过程和面向对象常量Object-Cconst int a = 10;Swiftlet a: Int = 10 //不要求编译时确定,如果声明时没有值需要指定类型let a = 10 //可以省略类型说明和结尾的分号JavaScriptconst a = 10Flutterconst int a = 10; //编译时确定const a = 10; //int 可以省略finial int a = 10; //运...…
-
Base
目录 运行环境 编译过程 Build 和 Archive 从头开发一个app都需要什么 随记运行环境xy:软件的运行、脚本的运行都需要一个运行环境,运行环境提供了软件和脚本运行所需的一切。“运行环境”(Runtime Environment)是指在计算机科学中,程序或应用程序执行时所需的硬件和软件的集合。 这个环境提供了程序运行所需的一切,包括操作系统、依赖库、语言运行时等。关于运行环境的要点包括:操作系统: 程序需要在特定的操作系统上运行。例如,Windows、Linux、ma...…
-
启动优化(二)
参考文章:抖音研发实践:基于二进制文件重排的解决方案 APP启动速度提升超15%目录 Pagefault调试 LinkMap 二进制重排 Clang插庄Pagefault调试程序在启动的时候首先会载入内存,这个时候会发生Pagefault(缺页异常),我们怎么来看下发生缺页的次数呢?使用xcode提供的 Instruments –> system trace 工具来看下程序的冷启动和热启动发生的缺页次数。一、冷启动的缺页次数查看将APP杀掉,启动6-9个其它APP后,点击...…
-
启动优化
目录 main函数之前 main函数之后 虚拟内存main函数之前一、冷启动与热启动我们一般认为杀掉程序,再次启动程序就是冷启动。程序在后台时再回到前台就是热启动。但实际上杀掉进程后再启动进程并不是真正的冷启动,因为程序已经加载到内存中,我们杀掉程序并不能清除内存中已加载的部分。杀掉进程,启动5-6个其它进程,覆盖之前的内存,再次启动该进程才能保证是百分百的冷启动。二、配置环境变量配置了该环境变量后程序在启动时就会打印启动时间 Total pre-main ti...…
-
待整理内容
目录 待整理待整理1、channel 的调用与回调2、future 的用法3、go_router的使用…
-
Flutter调试失败
目录 Flutter调试失败Flutter调试失败1、FLUTTER_BUILD_MODE是否设置了Debug2、电脑和手机是否连接了同一网络(是否影响还不确定)3、如果运行了 flutter attach –app-id com.lixiaoyi.demo –verbose 一直处在等待vm service … 在不停止attach指令的情况下,可以在xcode杀掉app,再重新启动试一试…
-
重点收集⭐️
目录 如何在不同的项目使用不同的flutter sdk A push B 的时候为什么会调用A的build方法 flutter的页面栈,如何拦截手势返回如何在不同的项目使用不同的flutter sdk一、安装 direnv// 通过 brew 安装 brew install direnv// 并在 shell 中启用(zsh):echo 'eval "$(direnv hook zsh)"' >> ~/.zshrc// 重新加载:source ~/.zshrc二、创建...…
-
状态管理️
目录 InheritedWidgetInheritedWidget一、介绍7.2 数据共享(InheritedWidget)InheritedWidget提供了一种在 widget 树中 从上到下共享数据的方式。 Flutter SDK中正是通过 InheritedWidget 来共享应用主题(Theme)和 Locale (当前语言环境)信息的。我们创建一个继承自InheritedWidget 的 ShareDataWidgetclass ShareDataWidget exten...…
-
flutter中的路由⭐
目录 一个路由系统应该具有什么样的功能一个路由系统应该具有什么样的功能 功能 说明 举例 页面跳转 跳转到指定页面(页面入栈)带参数跳转新页面位于栈顶 页面返回 栈顶页面出栈能够向上一级页面传递参数 路由拦截 跳转新页面之前进行拦截返回上一级页面之前进行拦截 页面替...…
-
混合应用创建与调试⭐️
目录 iOS 与 Flutter module 混合应用 调试iOS 与 Flutter module 混合应用内容待整理启动与调试一、启动1、iOS 端加载 Flutter module App 启动时或某个特定页面打开时,初始化 Flutter 引擎(FlutterEngine)。 Flutter engine 启动后,就会载入并执行dart代码(调用main函数)。2、iOS 启动 Dart VM Service 服务 F...…
-
flutter与原生应用⭐️
目录 flutter页面的加载 channel的调用流程 Plugin介绍 鸿蒙与flutter的相互调用flutter页面的加载以DF应用为例+ (instancetype)getFlutterViewControllerWithEntryPoint:(NSString *)entryPoint params:(NSDictionary *)params { // 初始化一个新的 FlutterEngine,并为其分配一个唯一的名称。 // 通过这种方式,可以创建多个...…