- 博客(6)
- 资源 (3)
- 收藏
- 关注
原创 关于内存管理
什么是内存管理?是指软件运行时对计算机内存资源的分配和使用技术。其最主要的目的就是如何高效、快速的分配,并且在适当的时候释放和回收内存资源。 内存分配 在 iOS 中数据是存在堆和栈中的,然而我们的内存管理管理的是堆上的内存,栈上的内存并不需要我们管理。 非OC对象(基础数据类型)存储在栈上 OC对象存储在堆上 引用计数 引用计数是计算机编程语言中的一种内存管理技术,是指将资源(可以是对...
2019-06-20 09:19:13 124
原创 关于埋点
先说一下埋点是干嘛的,埋点可以解决两大类的问题: 一是了解用户使用App的行为, 二是降低分析线上问题的难度。 常见的埋点方式有 代码埋点、可视化埋点和无埋点。其中,可视化埋点和无埋点属于无侵入的埋点 代码埋点主要通过手写代码的方式来埋点,能很精确的需要埋点的代码处上埋点代码,可以很方便的记录当前环境的变量值,方便调试,追踪埋点内容,但开发工作量大,并且埋点代码到处都是,后期难以维护。 可...
2019-06-20 07:50:47 246
原创 关于链接器
编译器和解释器执行代码的特点如下: 采用编译器生成机器码执行的好处就是效率高,缺点就是调试时间长 采用解释器执行的好处是编写调试方便,缺点是执行效率低 iOS开发采用的编译器是 LLVM LLVM是编译器工具链接技术的一个集合。其中 lld 项目是内置链接器。编译器会对每个文件进行编译,生成Mach-O(可执行文件);链接器会将项目中的多个 Mach-O 文件合并成一个 LLVM编译过程如...
2019-06-19 18:37:16 107
原创 项目模块化记事
首先解决三个问题: 模块粒度应该如何划分? 如何分层? 多团队如何协作? 颗粒度划分 对于 iOS面向对象编程开发模式来说,我们应该遵循以下五个原则,即solid原则 单一功能原则:对象功能要单一, 不要在一个对象里添加很多功能 开闭原则:扩展是开放的,修改是封闭的 里氏替换原则:子类对象是可以替代基类对象的 接口隔离原则:接口的用途要单一,不要在一个接口上根据不同的入参实现多个功...
2019-06-17 22:44:53 106
原创 APP启动那点事
一般而言,App的启动时间指的是从用户点击App开始,到用户看到第一个界面之间的时间。总结来书,App的启动包括三个阶段: main()函数执行前; main()函数执行后; 首屏渲染完成后。 main()函数执行前 在 main() 函数执行前,系统主要会做下面几件事: 加载可执行文件 (App 的 .o文件集合) 加载动态链接库,进行rebase 指针调整和bind符号绑定 Ob...
2019-06-17 17:45:59 93
转载 Swift: 对于weak、unowned的理解
可参考这些文章: 1.Swift内存管理、weak和unowned以及两者区别(如何使用Swift 中的weak与unowned?) 2.Swift:Weak 和 Unowned 3.扒一扒swift中的unowned和weak下 总结: 1.共同点: 1.1 引用对象的自动引用计数都不会加1,不会造成对引用对象的强引用。 2.不同点: 2.1 weak的对象,在blo...
2019-06-16 19:17:39 725
tensorflow中文文档
2018-06-06
XCTestAPI文档
2017-09-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人