自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 UITableView加载优化_懒加载图片

2017年11月apple给出了个懒加载图片的demo, 下载地址 实现的效果如下图所示: 主要实现的原理,就是当tableView停止时候渲染网络图片,思路为: 1.当滑动进行中时候,如果之前图片已经存在,则直接加载渲染,否则加载占位图 2.当滑动停止时,如果之前图片已经存在则直接渲染网络图片,否则从网络获取图片。 其中网络图片加载的小优化,如果网络图片和本地需要渲染的大小不一致时,则重绘图片: if (image.size.width != kAppIconSize || image.size.hei

2020-08-06 10:19:56 381

原创 2020-07-29_leetcode_寻找两个正序数组的中位数

###方法一: 采用归并排序部分实现,生成一个新的有序数组,然后再取新数组的中位数 有序数组的中位数,数组为奇数为 数组中间的书 数组为偶数,则为数组中间相邻的2个数的平均数 #对于给定的两个数组,合并成一个有序的数组 def merage(left, right): result = [] while left and right: if left[0] < right[0]: result.append(left.pop(0))

2020-08-04 15:16:04 120

原创 pod常用操作命令

1.pod私有库的创建 pod库校验(忽略⚠️) pod spec lint --allow-warnings 把库文件ABCKit.podspec添加到 FrameworkPodSpace 私有库中 $ pod repo push FrameworkPodSpace ABCKit.podspec --allow-warnings

2020-08-04 15:10:22 486

原创 iOS Block与循环引用

循环引用的产生: 下面以ARC 下为例 忧郁Block对象内部引用了外部的变量,而外部的变量又引用了当前的这个block,形成了彼此持有对方。如果外界不主动打断这种链接,那么就会一直持有,导致当前变量对象无法释放。 解决循环引用 1.使用__weak修饰 - (void)test { __weak Person *weakPerson = self; self.pblock = ^...

2020-04-15 22:14:57 221

原创 iOS Block的内存管理

__block与__weak对于block在ARC下内存管理 _block 变量 内部实现,实际上用一个新的__Block对象当前变量包装,block内部通过引用当前包装对象实现对于外界变量的持有。此时block内部对于__Block包装的对象为强持有,ARC如果对于当前Block有强引用,则会将当前block从栈copy到堆上,此时如果之前变量在栈上,则会一并copy到堆上。 如果block没有...

2020-04-14 23:27:47 251

原创 认识OC中的Block

block是什么? block本质是一个OC对象,内部也有isa指针 block是封装了函数调用以及函数调用环境的OC对象 (block内部用到block外部对象也会封装到block内部) 在main.m中写一个block,并在arm64下编译成c++代码。 #import <Foundation/Foundation.h> int main(int argc, const ch...

2020-04-06 22:17:23 279

原创 iOS app安装包瘦身

安装包组成:主要由可执行文件、资源文件组成 其中资源文件(图片、音频、视频等),对于资源文件策略主要采用无损压缩方式减少大小 可执行文件的瘦身,即进行源代码的优化,主要包括如下: 2.1 编译器的优化,编译选项开关打开 Strip Linked Product、Make Strings Read-Only、Symbols Hidden by Default设置为YES 2.2 去掉异常支持,En...

2020-04-04 17:18:26 373

原创 iOS App启动优化

App启动优化 app的启动方式分类 1.冷启动(Cold Launch):从零开始启动app 2.热启动(warm launch):App已经存在于内存中,在后台存活着,再次点击app图标进入app界面。此处主要记录app冷启动优化。 优化app冷启动时间 通过添加华宁变量可以打印出APP的启动时间分析(Edit scheme-Run->Arguments)。添加DYLD_PRINT_ST...

2020-04-04 11:18:54 391

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除