手机知识:安卓内存都卷到24GB了,为何iPhone还在固守8GB

目录

一、系统机制

二、生态差异

三、总结


在刚刚过去的9月,年货iPhone 15系列正式发布,标准版不出意外还是挤药膏,除了镜头、屏幕有些升级,芯片用iPhone 14 Pro系列的,内存只有6GB;即使是集钛合金机身、全新A17芯片、5X长焦镜头等升级点于一身的iPhone 15 Pro系列,内存也停留在8GB规格。

反观安卓阵营,现在一些厂商已经将手机内存扩展至24GB了,大部分新机也是12GB起步,8GB内存除了某些千元机还在用几乎绝迹了。那到底为何iPhone系列还在固守6GB、8GB呢?这其中可能有两个原因。

一、系统机制

一提到系统机制,相信很多人就会脱口而出“:我知道,就那个墓碑什么的!”但对它究竟是什么原理、起到什么作用并不知悉。简单来说,iOS的墓碑机制基本是这样的原理:

1、APP占用系统内存,被用户划到后台

2、后台APP被系统定义,如果不必持续运行,就暂停运行,墓碑化处理;

3、需要切换至前台时,再次分配充足的运存资源。

通过这样的操作,iOS系统的后台APP就不会占据过多的资源,尽量提供给前台正在运行的APP。这样确实可以减轻堆内存的需求,降低手机硬件的消耗。

相比iOS,谷歌的安卓系统一开始没有类似的机制,所有内存都吃满资源,小内存自然会出现“堵车”的现象。不过随着技术的进步,安卓也有了自己的“墓碑机制”——Low Memory Killer低内存杀死机制。

图片

不同于iOS会随时定义后台APP是否必要,LMK显得比较被动,被划到后台的APP也会持续占据一定的内存,越积越多,直到系统判断运存达到阈值,才会根据优先级主动“杀死”。所以,现在很多手机都会提供“保活白名单”类似的功能,用户可以提升部分重要APP的优先级,降低被杀死的可能。

相比iOS的墓碑机制,安卓的LMK机制在更大的内存环境下,能同时容纳更多APP在后台运行,调起的速度相对也会有优势,而iPhone加大内存其实也就没那么必要了。

二、生态差异

除了系统机制方面的差异,iOS、安卓之间的生态差异同样是内存差距巨大的主要原因。

安卓作为一个开源系统,它的管理机制更松散,APP对接口的调用权限几乎都在开发者手中,只要他们有心提升自己APP的优先度、让它在后台持续运行就不是什么难事。有一些非法的APP甚至会在后台持续请求手机的权限,一般的安卓用户可能根本不知道自己的信息安全正受到持续威胁。

图片

因此,国内手机厂商为了提升整体的使用体验,只能持续增加手机的内存规格。为了保护用户的用机安全,厂商也会在用户安装APP时进行风险扫描。但iOS系统做得比较封闭,对APP的审核比较严格,不必要的端口调用全部禁止,这也是为什么iOS应用安装不会像安卓出现“风险提醒”的原因。

三、总结

简单总结一下,iOS和安卓系统对后台应用的处理机制不同,也谈不上孰优孰劣,iOS的墓碑机制确实不需要太多内存,但对后台运行有较多限制;安卓的LMK机制使得后台能保留更多APP,内存越大上限越高,但随着应用增多,手机使用可能会越来越卡。

随着APP对内存的需求越来越大,可能一款应用就要占据极大的内存,可以预见iPhone未来也会增加内存规格,但库克的刀法能有多精准,我们就不得而知了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/114779.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【大数据】Kafka 实战教程(一)

Kafka 实战教程(一) 1.Kafka 介绍1.1. 主要功能1.2. 使用场景1.3 详细介绍1.3.1 消息传输流程1.3.2 Kafka 服务器消息存储策略1.3.3 与生产者的交互1.3.4 与消费者的交互 2.Kafka 生产者3.Kafka 消费者3.1 Kafka 消费模式3.1.1 At-most-once(…

NVIDIA NCCL 源码学习(十一)- ring allreduce

之前的章节里我们看到了nccl send/recv通信的过程,本节我们以ring allreduce为例看下集合通信的过程。整体执行流程和send/recv很像,所以对于相似的流程只做简单介绍,主要介绍ring allreduce自己特有内容。 单机 搜索ring 在nccl初始化的过…

51单片机仿真软件 Proteus 8 Pro 安装步骤

51单片机仿真软件 Proteus 8 Pro 安装步骤 学习 51 单片机的时候,如果手头没有开发板,可以使用仿真软件 Proteus。Proteus 可以仿真 51 单片机及周边元器件(例: LED) 的运行情况。 可以简单认为:Proteus …

经典链表问题:解析链表中的关键挑战

这里写目录标题 公共子节点采用集合或者哈希采用栈拼接两个字符串差和双指针 旋转链表 公共子节点 例如这样一道题:给定两个链表,找出它们的第一个公共节点。 具体的题目描述我们来看看牛客的一道题: 这里我们有四种解决办法: …

pandas写入MySQL

安装好pandas、mysql pip install pandas pip install pymysql 导入pandas、mysql import pymysql as mysql import pandas as pd 建立连接 conmysql.connect(host10.10.0.221,userroot,passwordroot,databasepandas,port3306,charsetutf8) 创建游标 curcon.cursor() 读…

文档的重要性及接口文档模板

随着工作年限的增长,我们逐渐意识到工作中文档的重要性不可忽视。优质的文档不仅能提高工作效率,还能有效降低沟通成本,因此我们必须注重文档的撰写和格式。最近,由于未能及时更新文档,导致在项目开发中出现了信息冲突…

Vue解决 npm -v 报错(一)

报错内容: npm WARN config global --global, --local are deprecated. Use --locationglobal instead. 解决方案: 代码: prefix -g 替换为: prefix --locationglobal 原创作者:吴小糖 创作时间:2023.1…

文心一言 VS 讯飞星火 VS chatgpt (118)-- 算法导论10.3 3题

三、用go语言,在ALLOCATE-OBJECT和 FREE-OBJECT过程的实现中,为什么不需要设置或重置对象的 prev 属性呢? 文心一言: 在 Go 语言中,ALLOCATE-OBJECT 和 FREE-OBJECT 过程的实现通常不需要显式地设置或重置对象的 prev 属性。这…

Java EE-使用Servlet搭建一个简单的前后端交互程序

上述前端和后端的代码如下&#xff1a; 前端&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"vie…

搭建网站七牛云CDN加速配置

打开七牛云后台&#xff1b;添加域名&#xff1b; 添加需要加速的域名&#xff0c;比如我添加的是motoshare.cn 源站配置&#xff0c;这里要用IP地址&#xff0c;访问的目录下面要有能访问测试的文件&#xff0c;尽量不要用源站域名&#xff0c;这个只能用加速二级域名&#x…

【试题039】 多个逻辑或例题

题目&#xff1a;设int n;,执行表达式(n0)||(n1)||(n2)||(n3)后,n的值是&#xff1f;代码分析&#xff1a; //设int n; , 执行表达式(n 0) || (n 1) ||(n 2) ||(n 3)后, n的值是?int n;printf("n%d\n", (n 0) || (n 1) || (n 2) || (n 3));//分析&#xff1…

STM32-LTC6804方案成熟BMS方案

方案下载链接&#xff01;&#xff01;https://mp.weixin.qq.com/s?__bizMzU2OTc4ODA4OA&mid2247549092&idx1&snc73855c4e3d5afddd8608d8528864f95&chksmfcfb1373cb8c9a65a4bd1f545a1a587af882f209e7ccbb8944f4d2514d241ca1d7fcc4615e10&token539106225&a…

vue 插槽 作用域插槽

vue 插槽 作用域插槽 **创建 工程&#xff1a; H:\java_work\java_springboot\vue_study ctrl按住不放 右键 悬着 powershell H:\java_work\java_springboot\js_study\Vue2_3入门到实战-配套资料\01-随堂代码素材\day05\准备代码\10-插槽-作用域插槽 vue --version vue crea…

01-JVM 内存结构

JVM 内存结构 Java 虚拟机的内存空间分为 5 个部分&#xff1a; 程序计数器Java 虚拟机栈本地方法栈堆方法区 JDK 1.8 同 JDK 1.7 比&#xff0c;最大的差别就是&#xff1a;元数据区取代了永久代。元空间的本质和永久代类似&#xff0c;都是对 JVM 规范中方法区的实现。不过…

【工具】利用ffmpeg将网页中的.m3u8视频文件转化为.mp4格式

目录 0.环境 1.背景 2.前提 3.详细描述 1&#xff09;在网站上找到你想下载的视频的.m3u8链接 2&#xff09;打开命令行&#xff0c;用ffmpeg命令进行转化 3&#xff09;过程&结果截图 0.环境 windows64 ffmpeg 1.背景 网页上有个.m3u8格式的视频文件&#xff0c;…

Redis 主从复制,哨兵,集群——(2)哨兵篇

目录 1. Redis 哨兵是什么&#xff1f; 2. Redis 哨兵有什么用&#xff1f; 2.1 主动监控 2.2 消息通知 2.3 故障转移 2.4 配置中心 3. Redis 哨兵数量配备要求 4. 哨兵配置文件详解 5. quorum 投票数详解 5.1 quorum 的含义 5.2 网络抖动导致主观下线 5.3 quorum …

云计算与云服务

云计算与大数据 1、虚拟化简介1.1、什么是虚拟化1.2、虚拟化的分类 2、云计算与云服务2.1、云计算2.2、云服务2.3、云计算的特点 3、云服务模式&#xff08;IaaS、PaaS、SaaS和DaaS&#xff09;4、云计算分类&#xff08;公有云、私有云和混合云&#xff09; 1、虚拟化简介 当下…

ToDoList全局事件总线学习笔记

全局事件总线 全局事件总线&#xff1a;任意组件间通信 安装全局事件总线 new Vue({……beforeCreate(){Vue.prototype.$busthis},…… })使用事件总线 接收数据&#xff1a;A组件想接收数据&#xff0c;则在A组件中给$bus绑定自定义事件&#xff0c;事件的回调留在A组件自…

react 学习 —— 16、使用 ref 操作 DOM

什么时候使用 ref 操作 DOM&#xff1f; 有时你可能需要访问由 React 管理的 DOM 元素 —— 例如&#xff0c;让一个节点获得焦点、滚动到它或测量它的尺寸和位置。在 React 中没有内置的方法来做这些事情&#xff0c;所以你需要一个指向 DOM 节点的 ref 来实现。 怎么使用 r…

vue3里面vant组件的标签页使用?

一、绑一个v-model事件 二、让activeName的初始为0也就是默认是显示第一个标签页的下标 三、给标签页下面的东西进行一个判断 想让哪个优先显示就把哪个判断作为初始值存入