前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【Androi】安卓发展历程详解

【Androi】安卓发展历程详解

作者头像
人不走空
发布于 2024-06-09 05:05:58
发布于 2024-06-09 05:05:58
2.9K02
代码可运行
举报
文章被收录于专栏:学习与分享学习与分享
运行总次数:2
代码可运行

安卓(Android)操作系统自2008年首次发布以来,迅速发展成为全球最广泛使用的移动操作系统。本文将详细回顾安卓的历史发展过程,探讨其在技术、市场和用户体验方面的演变。

一、起步阶段(2003-2008年)

1.1 安卓的起源

安卓(Android)的诞生始于2003年10月,当时四位技术先驱在美国加州帕洛阿尔托(Palo Alto)创立了安卓公司(Android Inc.)。这四位创始人是安迪·鲁宾(Andy Rubin)、里奇·米纳尔(Rich Miner)、尼克·西尔斯(Nick Sears)和克里斯·怀特(Chris White)。他们最初的目标并不是开发一个移动操作系统,而是希望创造一个用于相机的高级操作系统。

安迪·鲁宾曾在Danger公司开发过T-Mobile Sidekick,这是一款创新的手持设备,其经验使他深谙移动设备操作系统的需求。里奇·米纳尔是Wildfire Communications公司的共同创始人,有着丰富的电信背景;尼克·西尔斯是T-Mobile的前高管,对无线通信行业有深入的理解;克里斯·怀特则是WebTV的创意总监,负责用户界面设计。这四人团队的背景组合,使得安卓公司具备了开发突破性技术的多元视角和专业能力。

最初,安卓公司专注于开发一个适用于数码相机的操作系统。然而,随着智能手机市场的快速崛起,安卓公司意识到移动操作系统的巨大潜力,决定将技术焦点转移到智能手机操作系统上。

1.2 被谷歌收购

2005年8月,安卓公司迎来了命运的重大转折——它被谷歌(Google)收购。谷歌当时正在寻找进入移动市场的机会,而安卓公司的技术和团队正好满足了这一需求。这笔收购交易的具体金额没有公开,但据传约为5000万美元。

谷歌的收购标志着安卓发展历程中的一个重要里程碑。在谷歌的资源和支持下,安卓从一个相机操作系统项目迅速转型为一个智能手机操作系统项目。谷歌不仅提供了资金支持,还将安卓的开发与其日益增长的移动服务战略紧密结合。

安迪·鲁宾继续担任安卓项目的负责人,带领团队在谷歌内部展开开发工作。鲁宾的愿景是创造一个开放的、灵活的移动操作系统,可以被多种设备制造商采用,从而推动整个行业的创新和竞争。

1.3 安卓联盟的成立

2007年11月5日,谷歌宣布成立开放手机联盟(Open Handset Alliance),这是安卓生态系统的又一个关键时刻。这个联盟汇聚了来自全球的84家公司,包括手机制造商(如HTC、三星)、移动运营商(如T-Mobile、Sprint)、半导体公司(如高通、德州仪器)和软件公司(如Google自身)。

开放手机联盟的目标是通过合作和共享推动移动设备的开放标准,打破当时手机市场上封闭的生态系统壁垒。联盟成员们承诺支持安卓系统,并共同推动其发展,形成了一个强大的产业联盟。

在同一天,谷歌正式公布了安卓操作系统。这款系统基于Linux内核,具有高度的可定制性和开放性,为开发者提供了广泛的工具和API,使得他们可以开发出丰富多样的应用程序。谷歌还宣布,安卓将以开源的形式发布,这意味着任何人都可以访问、使用和修改安卓代码。

这一策略不仅加速了安卓的普及,也吸引了众多开发者和制造商的参与,形成了一个繁荣的安卓生态系统。谷歌的这一举动显然意在挑战当时市场上以诺基亚Symbian和微软Windows Mobile为代表的主导地位,最终取得了显著的成功。

在这个起步阶段,安卓通过坚定的战略转移、关键的收购和成功的合作联盟,为其未来的发展奠定了坚实的基础。接下来的几年中,安卓将逐步崭露头角,成为全球智能手机市场的领导者。

二、安卓1.x系列(2008-2009年)

在安卓1.x系列中,安卓系统开始迈出了进入市场的第一步,并迅速积累起用户基础。这个阶段,安卓逐渐从一个新兴的操作系统成长为一个具有竞争力的市场参与者。

2.1 安卓1.0的发布

2008年9月23日,谷歌正式发布了安卓1.0操作系统,这是安卓系统的第一个公开版本。一个月后,首款搭载安卓系统的设备HTC G1(也称为T-Mobile G1)于2008年10月22日上市。HTC G1是一款具有全键盘设计的智能手机,标志着安卓系统正式进入公众视野。

安卓1.0版本为用户提供了一些当时极具创新性的功能:

  • 集成谷歌服务:安卓1.0内置了多个谷歌服务应用,如Gmail、Google Maps、YouTube和Google Calendar,为用户提供了一体化的谷歌体验。
  • 支持多任务:安卓系统允许用户在不同的应用之间自由切换,这在当时的智能手机操作系统中是一个显著的优势。
  • 通知系统:通过下拉菜单提供统一的通知管理,用户可以方便地查看和处理来自各个应用的通知。
  • 应用市场:引入了安卓市场(Android Market),用户可以在这个平台上下载和安装第三方应用程序。
2.2 安卓1.1的改进

2009年2月,安卓1.1版本发布。虽然这一版本没有带来革命性的变化,但它针对系统的稳定性和性能进行了改进,并修复了一些早期版本中的问题。例如,G1设备的电池性能得到了改善,Google Maps应用新增了“街景”(Street View)模式,让用户可以在虚拟环境中探索街道视角。

2.3 安卓1.5“Cupcake”

2009年4月,安卓1.5版本发布,代号为“Cupcake”。这是第一个采用甜点名称的安卓版本,开启了安卓系统用甜点命名的传统。Cupcake版本引入了多个重要功能和改进:

  • 支持第三方虚拟键盘:用户可以从安卓市场下载不同风格的键盘,这大大增强了输入体验的多样性和灵活性。
  • 视频录制功能:用户可以使用相机进行视频录制,这是对早期版本中相机功能的一个重要扩展。
  • 主屏幕小部件:引入了小部件(Widgets)功能,用户可以将信息丰富的小部件添加到主屏幕上,例如时钟、天气和新闻等。
  • 蓝牙增强:改进了蓝牙功能,使其支持A2DP协议,允许用户通过蓝牙耳机播放高质量音频。
2.4 安卓1.6“Donut”

2009年9月,安卓1.6版本“Donut”发布,进一步增强了系统的功能和用户体验。Donut版本的主要改进包括:

  • 支持不同分辨率的屏幕:这一功能增强了安卓系统对各种设备的适应性,包括不同尺寸和分辨率的屏幕,从而支持更广泛的设备类型。
  • 改进的相机界面:提高了相机的启动速度和使用体验,使拍摄和浏览照片更加流畅。
  • 增强的搜索功能:安卓1.6改进了系统和应用中的搜索功能,让用户可以更容易地找到所需的应用、联系人和内容。
  • 快速切换功能:改进了安卓市场的搜索和浏览体验,使用户能够更快地找到和下载应用程序。

在这一系列的版本中,安卓不仅奠定了其在智能手机操作系统中的基础地位,还通过不断引入新的功能和改进来吸引更多用户和开发者。随着安卓系统的逐步完善,它开始在全球范围内快速普及,成为市场上一个重要的参与者。

安卓2.x系列是安卓操作系统发展过程中的一个重要阶段,这个系列的版本不仅显著提升了系统的性能和功能,还极大地推动了安卓在全球智能手机市场的普及和影响力。下面详细介绍安卓2.0/2.1“Eclair”、2.2“Froyo”和2.3“Gingerbread”。

3.1 安卓2.0/2.1 “Eclair”

2009年10月和2010年1月,安卓2.0和2.1版本分别发布,代号为“Eclair”。这是安卓操作系统的一次重大升级,引入了许多创新功能和改进,使得安卓的用户体验更为完善。

关键改进和新功能:
  • 支持多点触控:Eclair版本首次支持多点触控技术,这一改进大大提升了用户在触摸屏上的交互体验。用户可以用多指手势进行缩放和旋转操作,这对于浏览图片和地图等应用尤为方便。
  • 改进的浏览器:Eclair为浏览器引入了HTML5支持,使得网页浏览的能力大大增强。用户可以体验更为丰富的网页内容,包括视频、音频和动画效果。同时,浏览器的速度和稳定性也得到了显著提升。
  • 动态壁纸:安卓2.1版本引入了动态壁纸功能,用户可以设置具有动态效果的背景,这不仅增强了视觉吸引力,还提升了个性化体验。动态壁纸支持与系统的互动,比如根据时间、天气等条件改变显示效果。
  • Google Maps导航:Eclair版本引入了Google Maps Turn-by-Turn导航功能,这是一个免费的、基于GPS的导航服务,用户可以享受实时的语音引导和地图更新。这一功能使得安卓设备成为了强大的导航工具。
  • 改进的相机功能:Eclair改进了相机的用户界面和性能,增加了对闪光灯、数字变焦、场景模式和白平衡的支持,使得拍照体验更加专业和多样化。
3.2 安卓2.2 “Froyo”

2010年5月,安卓2.2版本“Froyo”发布。Froyo是“Frozen Yogurt”的缩写,这一版本以性能提升和新功能引人注目,标志着安卓系统的成熟和优化。

主要特色和改进:
  • 支持Adobe Flash:Froyo版本的浏览器引入了对Adobe Flash的支持,这在当时是一个非常重要的功能,使得用户可以在手机上浏览支持Flash的网页和视频,丰富了互联网的使用体验。
  • Wi-Fi热点功能:安卓2.2首次引入了Wi-Fi热点功能,允许用户将手机变成一个便携的Wi-Fi热点,与其他设备共享互联网连接。这一功能极大地增加了设备的实用性,尤其是在没有Wi-Fi网络的场合。
  • 性能提升:Froyo通过引入Dalvik虚拟机的Just-In-Time(JIT)编译器,大幅提升了应用程序的运行速度。JIT编译器能够在运行时即时将字节码转换为机器码,从而显著加快了应用的执行效率。
  • 改进的应用安装:Froyo允许用户将应用程序安装在外部存储设备(如SD卡)上,而不仅仅是内部存储,这解决了设备内存不足的问题,尤其是对于安装了大量应用的用户来说,这一功能非常实用。
  • 增强的安全性:Froyo增加了设备加密和远程擦除功能,进一步提升了设备的安全性和数据保护能力。
3.3 安卓2.3 “Gingerbread”

2010年12月,安卓2.3版本“Gingerbread”发布。Gingerbread版本在用户界面设计、性能优化和新功能方面进行了大量改进,进一步增强了安卓系统的竞争力。

主要改进和新增功能:
  • 全新用户界面:Gingerbread采用了更简洁和现代的设计风格,优化了色彩和视觉效果,使得系统界面更加清晰和易用。同时,新版的用户界面也提升了响应速度和流畅度。
  • NFC支持:安卓2.3引入了近场通信(NFC)技术,支持设备间的无线支付和数据交换。这一技术为未来的移动支付和无接触数据传输提供了基础。
  • 更好的游戏性能:Gingerbread改进了图形处理能力,优化了对传感器的支持,为游戏开发提供了更好的平台。游戏开发者可以利用这些改进,创建更为复杂和精美的移动游戏。
  • 改进的电池管理:安卓2.3版本改进了电池管理系统,增加了对电池使用情况的详细监控,帮助用户更好地管理电量消耗,延长设备的续航时间。
  • 改进的虚拟键盘:新的虚拟键盘设计增强了输入体验,包括更精准的触控识别和更快的响应速度,同时还支持多种语言和输入方式。
  • 多摄像头支持:Gingerbread版本开始支持前置摄像头和多摄像头的应用,为视频通话和自拍提供了更多的可能性。

安卓2.x系列在提升系统稳定性和性能的同时,不断引入新功能和改进,逐步确立了安卓作为领先移动操作系统的地位。这一系列的版本不仅提升了用户体验,还吸引了更多的开发者和制造商加入到安卓生态系统中,推动了安卓在全球的普及和发展。

四、安卓3.x系列(2011年)

安卓3.x系列,代号“Honeycomb”,是专为平板电脑设计的版本,这是安卓系统第一次针对特定设备类型进行优化。这个系列的发布标志着安卓操作系统在多种设备形态上的扩展。

4.1 安卓3.0 “Honeycomb”

2011年2月,安卓3.0版本“Honeycomb”发布,这是专门为平板电脑设计的操作系统版本,首次亮相于摩托罗拉Xoom平板电脑。Honeycomb为大屏幕设备引入了全新的用户界面和功能优化,旨在提供更好的平板电脑体验。

主要特色和改进:
  • 优化的UI设计:Honeycomb的用户界面专为大屏幕设备设计,采用了三维效果和全新的布局,使得平板电脑的操作体验更加直观和流畅。系统界面包括一个虚拟的“系统栏”(System Bar)和“动作栏”(Action Bar),分别提供系统通知、导航和应用操作的快捷方式。
  • 改进的多任务处理:Honeycomb增强了多任务处理能力,用户可以通过系统栏中的任务切换器轻松在最近使用的应用之间切换,这一功能显著提升了平板电脑的生产力和使用便利性。
  • 全新的应用程序设计:为了适应大屏幕设备,Honeycomb引入了一些新的UI组件和布局设计,使应用程序能够充分利用平板电脑的大屏幕特性。这包括分屏模式和新的拖放操作方式,提升了应用程序的交互体验。
  • 集成Google服务:Honeycomb版本进一步优化了对Google服务的支持,包括改进的Google Maps、Google Talk和电子邮件客户端,为用户提供了更加无缝和集成的谷歌体验。
  • 改进的系统性能:Honeycomb在系统性能上进行了优化,以支持更高分辨率的显示和更复杂的多媒体内容,同时引入了更高效的电源管理策略,延长了设备的续航时间。
4.2 安卓3.1和3.2

在2011年5月和7月,安卓3.1和3.2版本相继发布,这些版本继续优化和扩展Honeycomb的功能,进一步提升了平板电脑的使用体验。

主要改进:
  • 增强的USB支持:安卓3.1版本引入了对USB外设的支持,用户可以通过USB接口连接键盘、鼠标和游戏控制器等外部设备,这极大地提升了平板电脑的扩展能力和多功能性。
  • 改进的UI控件:安卓3.1和3.2版本对UI控件进行了进一步的优化,使得应用程序能够更好地适应不同大小和分辨率的屏幕,同时增强了系统的视觉效果和交互体验。
  • 蜂窝数据优化:安卓3.2版本优化了蜂窝数据的管理和使用,提升了设备在移动网络下的性能和稳定性,提供了更流畅的联网体验。
  • 对更多设备的支持:安卓3.2版本增加了对更多平板设备的兼容性,扩大了Honeycomb系统的适用范围,进一步推动了安卓平板的普及。

五、安卓4.x系列(2011-2013年)

5.1 安卓4.0“Ice Cream Sandwich”

2011年10月,安卓4.0版本“Ice Cream Sandwich”发布,这是一个整合了手机和平板功能的版本。主要的新功能和改进包括:

  • 统一的用户界面:融合了手机和平板的用户界面元素。
  • 人脸解锁:引入了面部识别解锁功能。
  • 新的任务管理:通过卡片式界面显示最近使用的应用。
  • 改进的内置应用:包括Gmail、日历和浏览器等。
5.2 安卓4.1/4.2/4.3“Jelly Bean”

2012年7月,安卓4.1版本“Jelly Bean”发布,紧接着在2012年10月和2013年7月发布了4.2和4.3版本。这些版本专注于提高系统的流畅性和用户体验:

  • Project Butter:显著提升了系统的响应速度和界面流畅度。
  • Google Now:引入了智能个人助理功能,提供预测性的信息和建议。
  • 扩展的通知系统:用户可以直接在通知栏中进行更多操作。

六、安卓5.x系列(2014-2015年)

6.1 安卓5.0/5.1“Lollipop”

2014年11月,安卓5.0版本“Lollipop”发布,2015年3月发布了5.1版本。这是安卓系统的一个重大更新,带来了全新的“材料设计”(Material Design)语言和众多新功能:

  • 材料设计:引入了扁平化和动态视觉效果,统一了应用和系统的外观。
  • 改进的通知系统:支持锁屏通知和优先模式通知管理。
  • 64位架构支持:增强了对新硬件的支持,提升了性能。
  • 多用户模式:允许多个用户共享同一设备。

七、安卓6.x系列(2015-2016年)

7.1 安卓6.0“Marshmallow”

2015年10月,安卓6.0版本“Marshmallow”发布。这个版本专注于改进用户权限管理和电池性能:

  • 应用权限管理:引入了细化的权限控制,用户可以在运行时管理应用的权限。
  • Doze模式:增强了电池管理,延长了设备的待机时间。
  • Google Now on Tap:在任何应用中,长按主屏按钮即可获得上下文相关的信息和操作建议。

八、安卓7.x系列(2016-2017年)

8.1 安卓7.0/7.1“Nougat”

2016年8月和2016年10月,安卓7.0和7.1版本“Nougat”分别发布。这个版本带来了多窗口模式和进一步的性能优化:

  • 多窗口支持:允许用户同时运行和查看两个应用。
  • 通知快速回复:用户可以直接在通知栏中回复消息。
  • VR模式:优化了对虚拟现实应用的支持。
  • 数据节省模式:帮助用户管理和限制后台应用的数据使用。

九、安卓8.x系列(2017-2018年)

9.1 安卓8.0/8.1“Oreo”

2017年8月和2017年12月,安卓8.0和8.1版本“Oreo”发布。这个版本专注于提高系统的性能和安全性,同时带来了一些新特性:

  • PIP模式:支持应用在浮动窗口中播放视频。
  • 通知点:应用图标上显示未读通知的标记。
  • 自动填充:增强了密码管理和表单填充功能。
  • 更好的背景管理:限制后台应用的资源使用,提高系统性能和电池寿命。

十、安卓9.x系列(2018-2019年)

10.1 安卓9.0“Pie”

2018年8月,安卓9.0版本“Pie”发布。这个版本引入了新的手势导航和智能功能:

  • 手势导航:取代传统的虚拟按键,通过手势操作进行导航。
  • 数字健康工具:提供应用使用时间统计和使用限制设置。
  • 自适应电池:利用机器学习优化应用的电池使用。
  • App Actions:在用户的日常操作中提供智能的快捷操作建议。

十一、安卓10.x系列(2019-2020年)

11.1 安卓10

2019年9月,安卓10发布。这是安卓系统首次放弃以甜点命名的版本,专注于提升隐私保护和可折叠设备支持:

  • 深色模式:系统级的深色主题,减少屏幕亮度和电池消耗。
  • 隐私和位置控制:细化了对位置数据和后台活动的权限控制。
  • 快速设置面板:增强了系统控制的快速访问。
  • 可折叠屏幕支持:优化了对新型可折叠设备的支持。

十二、安卓11.x系列(2020-2021年)

12.1 安卓11

2020年9月,安卓11发布,这个版本进一步提升了消息管理和隐私控制:

  • 消息气泡:支持将聊天应用的对话以浮动气泡的形式悬浮在屏幕上。
  • 更好的权限管理:一次性权限和自动重置权限功能,提高了隐私保护。
  • 媒体控制:增强了音频和视频播放控制的功能。
  • 智能设备控制:在电源菜单中集成了智能家居设备的快捷控制。

十三、安卓12.x系列(2021-2022年)

13.1 安卓12

2021年10月,安卓12发布,带来了大幅度的UI设计和功能更新:

  • Material You设计:引入了动态色彩主题,根据壁纸调整系统和应用的配色。
  • 改进的隐私仪表板:提供更透明的应用权限使用信息。
  • 强化的安全功能:增强了对麦克风和摄像头的控制。
  • 新的手势和动画:改进了系统的手势操作和动画效果,提升用户体验。

十四、安卓13.x系列(2022-2023年)

14.1 安卓13

2022年8月,安卓13发布,重点在于用户自定义和隐私保护:

  • 个性化设置:提供更多的主题颜色和图标风格选项。
  • 改进的通知权限:应用需获得用户许可才能发送通知。
  • 增强的多语言支持:用户可以为不同的应用设置不同的语言。
  • 媒体文件访问限制:引入新的媒体文件访问权限,增强了隐私保护。

十五、安卓14.x系列(2023年至今)

15.1 安卓14

2023年10月,安卓14发布,进一步提升了用户体验和系统性能:

  • 改进的电池优化:引入了更智能的电池管理机制。
  • 更多的视觉定制选项:提供更广泛的UI和图标自定义功能。
  • 增强的隐私和安全功能:进一步细化了权限控制和数据保护。
  • 对新硬件的支持:优化了对最新设备和技术(如折叠屏和5G)的支持。

结语

从最初的安卓1.0到今天的安卓14,安卓操作系统经历了十余年的不断演进与发展。安卓不仅在功能和性能上取得了巨大的进步,还通过开放性和多样化的生态系统赢得了全球用户的广泛认可。在未来,随着技术的进一步发展,安卓系统必将在移动计算领域继续发挥重要作用,推动更多创新和变革。

参考资料:
  1. Android - Wikipedia. Retrieved from: https://en.wikipedia.org/wiki/Android_(operating_system)
  2. The History of Android - A Look at the Android OS Evolution. Retrieved from: https://www.androidauthority.com/history-android-os-name-789433/
  3. Google Official Blog - The latest news and updates from Google. Retrieved from: https://blog.google/products/android/

希望这篇文章能够帮助您全面了解安卓的发展历程。如果您有任何问题或需要进一步的详细信息,请随时告诉我。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-06-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
【Linux】:线程概念与控制
CPU看到的: 执行流 <= 进程 注意:Linux中的执行流叫:轻量级进程
IsLand1314
2024/12/20
2090
【Linux】:线程概念与控制
Linux:多线程(一.Linux线程概念、线程控制——创建、等待、退出、分离,封装一下线程)
但是,每次创建子进程都要复制父进程的地址空间、代码段、数据段等资源,然后将子进程的执行流独立地运行起来。这代价也不小。所以线程的优势便体现出来:创建一个新线程的代价要比创建一个新进程小得多
是Nero哦
2024/08/02
9670
Linux:多线程(一.Linux线程概念、线程控制——创建、等待、退出、分离,封装一下线程)
【Linux】从零开始认识多线程 --- 线程控制
复习的差不多了,我们了解了线程的基本概念,接下来就要开始学习如何管理线程 — 线程控制。根据我们之前学习的进程控制,大概可以估计一下线程控制的基本接口:线程创建 , 线程等待 , 线程退出…
叫我龙翔
2024/07/16
1600
【Linux】从零开始认识多线程 --- 线程控制
Linux线程基础
  加载到内存中的程序,我们称为进程。我们创建一个进程,简单来说是,分配进程地址空间,加载各种数据,与物理内存之间建立映射关系等。做完这些动作,我们才能说创建了进程,也就是说,创建一个进程的开销(时间空间成本开销)是很大的。
用户11029129
2024/09/24
1160
Linux线程基础
【Linux线程】Linux线程编程基础:概念、创建与管理
🔍前言:在Linux操作系统的广阔天地里,线程作为并发编程的基本单位,扮演着举足轻重的角色。它们如同操作系统的微观脉络,穿梭于各个任务之间,高效地协调着系统的运行。然而,要想驾驭好这些微观世界的精灵,对线程控制的深入理解是不可或缺的
Eternity._
2024/10/17
2320
【Linux线程】Linux线程编程基础:概念、创建与管理
【Linux】多线程——线程概念|Linux下进程与线程|线程控制
地址空间是进程能看到的资源窗口:一个进程能看到代码区、共享区、内核区、堆栈区,大部分的资源都是在地址空间上看到的
平凡的人1
2023/10/15
7130
【Linux】多线程——线程概念|Linux下进程与线程|线程控制
初谈Linux多线程--线程控制
在Linux中,线程执行的是进程代码的一部分,也就是说,线程是进程的实体,可以看作是进程内的一个执行单元,我们将这些不同的执行单元称之为轻量级进程,不同线程之间可以通过共享内存来进行通信。
南桥
2024/08/02
2180
初谈Linux多线程--线程控制
Linux——多线程
这里也能解释为什么对于常量字符串类型为什么不能修改了,因为要修改的时候会从虚拟地址转化成物理地址,然后检查权限是否可以修改等等。
有礼貌的灰绅士
2023/06/14
1.2K0
Linux——多线程
【Linux】盘点<多线程控制>基本操作&演示:创建&中止&等待&分离
YY的秘密代码小屋
2024/10/17
1930
【Linux】盘点<多线程控制>基本操作&演示:创建&中止&等待&分离
多线程编程初探:掌握基本概念与核心原理
就是我们在进程当中运行程序的时候都是单执行流往下运行的,如果要多执行流往下运行,就需要引入多进程。
绝活蛋炒饭
2024/12/29
3160
多线程编程初探:掌握基本概念与核心原理
Linux线程-概念和控制
注:pthread_exit或者return返回的指针所指向的内存单元必须是全局的或者是用malloc分配的,不能在线程函数的栈上分配,因为当其它线程得到这个返回指针时线程函数已经退出了
用户9645905
2022/11/30
1.3K0
Linux线程-概念和控制
【Linux】详解线程控制之线程创建&线程终止&线程等待&线程分离
pthread_exit函数中可以设置retval返回值,在主线程中可以调用pthread_join函数来获取子线程的返回值。
用户10923276
2024/05/24
6640
【Linux】详解线程控制之线程创建&线程终止&线程等待&线程分离
Linux线程控制
本篇我将学习如何使用多线程。要使用多线程,因为Linux没有给一般用户直接提供操作线程的接口,我们使用的接口,都是系统工程师封装打包成原生线程库中的。那么就需要用到原生线程库。因此,需要引入-lpthread,即连接原生线程库。
二肥是只大懒蓝猫
2023/03/30
1.1K0
Linux线程控制
【linux学习指南】模拟线程封装与智能指针shared_ptr
std::shared_ptr 是 C++ 标准库 <memory> 头文件中提供的一种智能指针,用于管理动态分配的对象,它实现了共享所有权的语义,下面为你详细介绍它的作用、工作原理以及在你给出的代码中的使用场景。
学习起来吧
2025/02/11
1030
【linux学习指南】模拟线程封装与智能指针shared_ptr
初识Linux · 线程控制(1)
前文我们已经介绍了线程的基本概念,知道查看线程是使用ps -aL查看,并且因为线程的特殊性,我们必须在用户层和操作系统层面接一层库,也就是线程库,编译程序的时候需要将程序link到线程库里面。
_lazy
2024/12/20
940
初识Linux · 线程控制(1)
Linux多线程【线程控制】
线程是进程内部的一个执行流,作为 CPU 运行的基本单位,对于线程的合理控制与任务的执行效率息息相关,因此掌握线程基本操作(线程控制)是很有必要的
北 海
2023/09/18
2920
Linux多线程【线程控制】
Linux之线程安全(上)
用pthread_create创建一个线程,产生的线程ID存放在第一个参数之中,该线程ID和内核中的LWP不是一回事。pthread_create函数第一个参数指向一块虚拟内存单元,该内存单元的地址就是新创建线程ID,这个ID是线程库的范畴,而内核中LWP是进程调度的范畴,轻量级进程是OS调度的最小单位,需要一个数值来唯一标识该线程。 Linux并不提供真正的线程,只提供了LWP,但是程序员不关注LWP,只关注线程。因此,OS在OS与应用程序之间设计了一个原生线程库——pthread库。系统保存LWP,原生线程库可能存在多个线程,别人可以同时使用。OS只需要对内核执行流LWP进行管理,而提供给用户使用的线程接口等其他数据需要线程库自己来管理,线程库对线程的管理:先描述,再组织。 线程库实际上是一个动态库:
摘星
2023/10/15
2810
Linux之线程安全(上)
【Linux】深入理解线程控制
pthread_join的作用是线程等待,其中retval参数传递线程退出状态的原理是:当目标线程结束时,pthread_join 会将目标线程的退出状态(即线程函数的返回值或 pthread_exit 传递的参数)存储在 *retval 所指向的内存位置,也就是说,pthread_join 会修改 retval 所指向的那个 void * 类型变量的值
s-little-monster
2025/04/15
730
【Linux】深入理解线程控制
多线程——线程概念和线程控制
页表有许多条目。32位系统下,物理内存是4G即2^32字节,即有2^32个地址。其中物理内存中被划分为许多页框(或者叫块),页框大小4KB。相应的磁盘也被划分为许多页帧,页帧大小也是4KB,这样OS将数据从磁盘加载到内存或内存保存到磁盘上就是以4KB为单位。回到内存,内存有2^32个地址,那么就有2^32个地址需要被映射。页表就需要建立2^32个逻辑地址与物理地址的映射。
梨_萍
2023/09/11
4930
多线程——线程概念和线程控制
【Linux】线程安全——补充|互斥、锁|同步、条件变量
pthread_create创建一个线程,产生一个线程ID存放在第一个参数之中,该线程ID与内核中的LWP并不是一回事。pthread_create函数第一个参数指向一块虚拟内存单元,该内存单元的地址就是新创建线程ID,这个ID是线程库的范畴,而内核中LWP是进程调度的范畴,轻量级进程是OS调度的最小单位,需要一个数值来表示该唯一线程。
平凡的人1
2023/10/15
3710
【Linux】线程安全——补充|互斥、锁|同步、条件变量
相关推荐
【Linux】:线程概念与控制
更多 >
LV.1
这个人很懒,什么都没有留下~
目录
  • 一、起步阶段(2003-2008年)
    • 1.1 安卓的起源
    • 1.2 被谷歌收购
    • 1.3 安卓联盟的成立
  • 二、安卓1.x系列(2008-2009年)
    • 2.1 安卓1.0的发布
    • 2.2 安卓1.1的改进
    • 2.3 安卓1.5“Cupcake”
    • 2.4 安卓1.6“Donut”
    • 3.1 安卓2.0/2.1 “Eclair”
      • 关键改进和新功能:
    • 3.2 安卓2.2 “Froyo”
      • 主要特色和改进:
    • 3.3 安卓2.3 “Gingerbread”
      • 主要改进和新增功能:
  • 四、安卓3.x系列(2011年)
    • 4.1 安卓3.0 “Honeycomb”
      • 主要特色和改进:
    • 4.2 安卓3.1和3.2
      • 主要改进:
  • 五、安卓4.x系列(2011-2013年)
    • 5.1 安卓4.0“Ice Cream Sandwich”
    • 5.2 安卓4.1/4.2/4.3“Jelly Bean”
  • 六、安卓5.x系列(2014-2015年)
    • 6.1 安卓5.0/5.1“Lollipop”
  • 七、安卓6.x系列(2015-2016年)
    • 7.1 安卓6.0“Marshmallow”
  • 八、安卓7.x系列(2016-2017年)
    • 8.1 安卓7.0/7.1“Nougat”
  • 九、安卓8.x系列(2017-2018年)
    • 9.1 安卓8.0/8.1“Oreo”
  • 十、安卓9.x系列(2018-2019年)
    • 10.1 安卓9.0“Pie”
  • 十一、安卓10.x系列(2019-2020年)
    • 11.1 安卓10
  • 十二、安卓11.x系列(2020-2021年)
    • 12.1 安卓11
  • 十三、安卓12.x系列(2021-2022年)
    • 13.1 安卓12
  • 十四、安卓13.x系列(2022-2023年)
    • 14.1 安卓13
  • 十五、安卓14.x系列(2023年至今)
    • 15.1 安卓14
  • 结语
    • 参考资料:
加入讨论
的问答专区 >
1技术总监架构部总经理擅长3个领域
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验