首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
性能优化
订阅
火柴盒环游记
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
iOS App启动优化(二):物理内存和虚拟内存
内存是分页管理的,映射表不能以字节为单位,是 以页为单位。 早期的计算机不断启动应用,到达一定数量以后会报错,应用无法正常运行,必须先关闭前面的部分应用才能继续开启。 这是因为早期计算机没有虚拟地址,一旦加载都会 全部加载到内存中 。一旦物理内存不够了,那么应用就无法继续开启。…
iOS App启动优化(三):二进制重排
我们可以看到图中项目的Page Fault 数量并不多,这是因为当前项目是一个demo,代码和文件都极少。当代码多起来的话,Page Fault的 数量和加载耗时都会随着代码增加而增加。 二进制重排 可以很好优化这个问题,其中心思想是重新排列 方法符号的顺序, 使启动的相关方法…
IOS性能优化篇
好的app应该有好的性能流畅度,本篇文章就大概讲一下ios性能优化。 CPU( Central Processing Unit, 中央处理器)就是机器的“大脑”,也是布局谋略、发号施令、控制行动的“总司令官”。 CPU的结构主要包括运算器(ALU, Arithmetic and…
iOS App 启动性能优化
本文介绍了如何优化 iOS App 的启动性能,分为四个部分: 第一部分科普了一些和App启动性能相关的前置知识 第二部分主要讲如何定制启动性能的优化目标 第三部分通过在WiFi管家这个具体项目的优化过程,分享一些有用的经验 第四部分是关键点的总结。
iOS App瘦身小记
本文最开始是2019/04写的,时隔一年后,趁着假期的时间,把之前的的不足和新的体会补充补充。 有鉴于此,App的瘦身的优先级变得不那么高优了;我们可以放心大胆去搞业务了。 对于追求更高品质的App,希望在竞品中拔得头筹,还是需要在包大小方面花很大功夫的,不是搞几个技术需求就能…
iOS野指针定位总结
野指针就是指向一个已删除的对象或者受限内存区域的指针。 我们写C++的时候强调指针初始化为NULL,强调用完后也为其赋值为NULL,谁分配的谁回收,来避免野指针的问题。 比较常见的就是这个指针指向的内存,在别处被回收了,但是这个指针不知道,依然还指向这块内存。 MRC 时代因为…
IOS面试考察(九):性能优化相关问题
1. IOS面试考察(九):性能优化相关问题 APP的启动时间,直接影响用户对你的APP的第一体验和判断。如果启动时间过长,不单单体验直线下降,而且可能会激发苹果的watch dog机制kill掉你的APP,那就悲剧了,用户会觉得APP怎么一启动就卡死然后崩溃了,不能用,然后长…
iOS启动优化之从exec()到main()
上一篇文章我们讲到了启动优化需要的一些理论知识,这篇文章我们讲一下从exec()到main()系统帮我们做了哪些操作。 exec()函数是一个系统调用,当启动一个应用程序的时候,系统内核把应用映射到新的地址空间,且每次起始位置都是随机的(因为使用了ASLR),并将起始位置到0x…
iOS启动优化之实践篇
这篇文章会给大家介绍一下关于启动优化,我们可以从哪些方面入手,而不会讲具体的实现,具体的实现会在后面其它专题的文章中陆续给大家引出来。 这篇文章所提的启动都是冷启动。 iOS应用启动时间一旦超过20s,系统会认为发生了死循环并杀掉App进程。 互联网领域八秒定律是指用户访问一个…
iOS 优化篇 - 启动优化之Clang插桩实现二进制重排
( 本篇文章由于会从原理角度讲解 , 有些已经比较熟悉的同学可能会觉得节奏偏啰嗦 , 为了照顾大部分同学 , 大家自行根据目录跳过即可 . ) 了解二进制重排之前 , 我们需要了解一些前导知识 , 以及二进制重排是为了解决什么问题 . 在本篇文章里 , 笔者就不通过教科书或者大…