App应用装的多会让 iPhone 变卡么?

看标题的问题应该是大多数果粉有疑问的,今儿小编从知乎上看到同样问题的解答还可以推荐给大家!

 

知乎用户 恒宇 的解答:

装多了不会卡,除非rom硬件有问题(譬如前几批发货的iPhone 6plus 128G)

同时运行了多少个应用会影响到当前app的运行状态,但是,系统会自动把其他应用关了以适应资源不足的情况。

一些技术细节...
1.后台

iOS现在有"Background service",不信你打开 设置-通用-后台应用程序刷新 ,许多应用都注册了这个Capabilities,譬如QQ(实际上QQ不需要,有推送就够了,问题来了,它注册这个服务要干嘛)

“十分钟就被系统杀后台”是多少年前的事了。。去年WWDC就说了,系统会自动根据用户的app使用习惯而更好地为应用保留后台驻留时间。(iOS系统有自己的一个后台管理机制,在内存不足时会依据某些规则释放某些应用的内存。用户其实没必要自己手动杀后台。我玩过同学的红米,它的策略是最多8个后台应用,而且是先进先出原则。。)

2.编译器

Objective-C现在用的LLVM编译器

3.优先级

iOS系统是会优先响应触摸事件(UIResponder),但是不是优先处理是看开发者的意思(HIG建议优先处理,并把复杂的计算和网络任务放在另一个线程)。

“当用户接触到iPhone的触摸屏后,iOS中所有的进程都将停止,UI线程拦截了所有的事件”,这句话完全错了好吧 照这个意思,你在知乎客户端的回答页面点击“发布”的时候你的答案提交进程不就被停止了吗

4.网页渲染

Google就是干Chrome开发的,还一直在支持苹果的webkit来源项目…谁说安卓html加载机制不好来着。。

5.厂商优化

对于安卓来说问题有些特殊,因为问题可能出在“厂商负责任的进行了优化”。安卓机型太多了,厂商对各种分辨率优化了自然就有各种尺寸的资源文件,而对于某个机型,其他的优化文件成了冗余。所以嘛,许多安卓安装包比较大但里面的资源文件有许多是不需要的哇。你看吧,不优化会被骂,优化了也不行,怪谁呢?
对于iOS,现在也有许多不同的机型,同理一个安装包里有许多不必要的资源。苹果挺聪明的,今年推出了“App Thinning”技术。

6.新的系统在比较老的设备上运行会有卡顿。

原因有一部分是,iOS系统涉及到UI的计算都放在了主线程,而老设备对于新系统的UI计算还是有些吃力的。为此,Facebook开发了Async来优化应用在老设备上的运行能力(Github有开源),思想和游戏的节点差不多。。