内存优化之重新认识内存

我们知道,手机的内存是有限的,如果应用内存占用过大,轻则引起卡顿,重则导致应用崩溃或被系统强制杀掉,更严重的情况下会影响应用的留存率。因此,内存优化是性能优化中非常重要的一部分。但是,很多开发者对内存的认识还停留在应用开发这一层,平时只是参考网上的方案,对内存进行比较浅显的优化。想要深入进行内存优化,我们需要从操作系统的层面了解内存是怎么管理的,又是如何被使用的

可能会有人疑问:“为什么做个内存优化需要从操作系统层了解内存呢?”我们确实可以在网上搜到很多内存优化的文章,但它们都是从上层应用出发进行优化的,而不同的应用因为环境不一样、业务不一样,很多优化方法都不能通用。因此,只有当我们从底层掌握了内存的原理,从下而上地制定优化方案,才能适用于任何业务,甚至当我们转型到 iOS、前端或者后端都能通用。

接下来,我们就从操作系统底层出发,重新认识内存。

我们先将目光放到操作系统的早期,在这个环境下,程序都是直接操作物理内存的。比如一个程序执行如下指令:

MOV REGISTER1,0

计算机会将位置为 0 的物理内存中的内容移到 REGISTER1 的寄存器中。在这种情况下,如果第二个程序在 0 的位置写入一个新的值,就会擦掉第一个程序存放在相同位置上的所有内容,导致第一个程序崩溃。

正因为应用程序可以直接操作物理内存,所以我们完全可以修改其他程序在内存中的数据,导致程序崩溃或者产生安全问题。因此,对当时的操作系统来说,同时运行多个程序很困难。

为了解决这个问题,我们自然而然会想到:不允许应用程序直接操作物理内存。于是虚拟内存的技术诞生了。

为了更好地了解什么是虚拟内存,我们先看看早期直接操作物理内存系统下的内存模型长什么样。从下面内存模型的简化图中我们可以看到,物理内存中存在两块数据,一个是操作系统的数据,一个是应用程序的数据。除此之外,其实还会有设备驱动程序的数据,它们不是我们了解的重点就先不列上去了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《高手进阶_终极内存技术指南pdf》是一本关于内存技术的指南,针对技术高手的进阶学习提供有用的资源。该指南涵盖了许多内存相关的主题,帮助读者深入了解和掌握内存技术。 首先,《高手进阶_终极内存技术指南pdf》介绍了内存的基本概念和原理,包括内存类型、内存的组成和工作原理等。通过了解内存的基本知识,读者可以建立起对内存的整体认识,为后续的进阶学习打下基础。 其次,《高手进阶_终极内存技术指南pdf》详细介绍了内存管理的技术和方法。内存管理是系统中非常重要的一部分,它涉及内存的分配、释放和管理等方面。通过学习内存管理的技术,读者可以优化内存的利用,提高系统的性能和效率。 此外,《高手进阶_终极内存技术指南pdf》还探讨了内存优化的方法和技巧。通过对内存使用的优化,可以减少内存碎片、提高内存访问速度,并提升系统的整体性能。了解这些内存优化的方法,读者可以通过调整系统设置和优化程序代码来实现。 最后,《高手进阶_终极内存技术指南pdf》还提供了一些实际案例和应用实例,帮助读者将内存技术应用到实际开发中。这些案例和实例可以帮助读者理解和掌握内存技术的实际应用,提升实际开发的能力。 总的来说,《高手进阶_终极内存技术指南pdf》是一本宝贵的资源,对于想要深入了解和掌握内存技术的技术高手来说,具有很大的帮助和指导作用。通过学习该指南,读者可以在内存技术领域进一步提升自己的能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值