摘要:
简介 SDWebImage提供的简洁的获取远程URL图片的API;平时开发中使用最多场景就是列表中的cell中要显示远程图片的需求,在具体的实现中要避免加载图片造成的界面卡顿,列表卡顿等现象的出现;所以需要编码实现如下功能: 使用占位图片显示UI界面,异步线程加载图片成功后刷新控件 缓存机制,下载过 阅读全文
摘要:
1. .self 1. 对象的self 是对象的本身,person 对象的类型是Person类。 2. 类的self,是类的本身. Person类的类型是Person.Type 2. .Type Person.Type 表示一种新的类型, 是Person 所属于的类型 3. type(of:) 用来 阅读全文
摘要:
大家好,今天给大家讲讲C C++的一些基础语法,小编整理了一些简单入门基础知识,对于我们编程也有很多的帮助。 C++ cin C++中的cin是一个 istream对象,从标准输入中读取数据,在iostream头文件中定义。cin建有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束 阅读全文
摘要:
第6章 项目时间管理 本节术语较多、涉及的工具&技术也不少。 主要包括活动定义、活动排序、活动资源估算、活动历时估算、进度制定、进度控制6个子过程。 1.1活动定义:就是对WBS的进一步分解。将WBS的工作包分解为更小的部分-进度活动 1.2活动排序:两种项目进度网络图:前导图(PDM)、箭线图(A 阅读全文
摘要:
第一章 一.什么是Android? 安卓(Android)是一种基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发,其中包含操作系统,中间件和核心应用等。 二.Android的平台架构。 1、Application 最上层 阅读全文
摘要:
Overview多年前Android的UI流畅性差的问题一直饱受诟病,Google为了解决这个问题开发了Project Butter项目,也就是黄油计划,期望彻底改善Android系统的流畅性。这是Android UI系统的一次非常大的改进,学习如何改进,是我们掌握Android渲染机制的关键。概括 阅读全文
摘要:
本文的主要目的是探索 RefCount 的内存结构及强/弱引用计数管理 Swift 中也是采用 ARC 编译器自动内存管理机制。 Swift 对象的内存结构是 HeapObject, 有两个属性 Metadata 和 RefCount , 各占8字节(64位)。 RefCount 的每位的数据存储内 阅读全文
摘要:
内存优化总结 内存问题 内存抖动:导致GC导致卡顿 内存泄漏:导致频繁GC,可用内存减少 内存溢出:导致OOM 工具排查 AS中的Profiler查看内存情况,是否锯齿状,是否持续上升 MAT排查 LeakCanary排查泄漏 问题解决方案 抖动 禁止string拼接 使用优化后的数据结构,Spar 阅读全文
摘要:
1. 类的普通方法调度 写一个结构体和一个类,对比看看方法调用的方式: // 结构体 struct PersonStruct { func changClassName() {} } let s = PersonStruct() s.changClassName() // 类 class Perso 阅读全文
摘要:
1.OC 项目中,引入 Swift 文件 1.1 Swift文件中使用OC 文件 【第1步】创建一个Swift 文件 会自动弹出创建桥接文件的弹窗,点击“创建桥接文件按钮” 系统会自动生成一个 “项目名-Bridging-Header.h” 例如:TestOC-Bridging-Header.h 【 阅读全文
摘要:
前言 hello,小伙伴们:在忙碌中闲暇之余给大家聊聊swift的知识点,今天给大家带来的是swift中结构体与类的方法调度详细区别,希望对你有所帮助,好了废话不用多说,接下来步入主题! 1.普通方法时两者方法调度的区别 ● 结构体中的普通方法调度是静态派发的方式 ○ 详细分析会在以后: 方法调度之 阅读全文
摘要:
字节对齐 1 struct Mystruct1{ 2 char a; //1字节 3 double b; //8字节 4 int c; //4字节 5 short d; //2字节 6 }Mystruct1; 7 8 struct Mystruct2{ 9 double b; //8字节 10 in 阅读全文
摘要:
运算符 运算符分类 从操作数角度看:运算符包括一元、二元、三元。这里的一二三指操作数的数量,操作数指的是被操作的数值。 从运算符位置看:运算符分为前缀、中缀、后缀。例如:!b, b + c, c! 赋值运算符 赋值运算符( a = b )可以初始化或者更新 a 为 b 的值: 如果赋值符号右侧是拥有 阅读全文
摘要:
1. 类的底层实现 先写一个 Person 类: @interface Person : NSObject @property (nonatomic, copy) NSString *p_name; @property (nonatomic, assign) int p_age; - (void)p 阅读全文