目录:
计算机就像人一样 - 随着年龄的增长,它们往往会变慢,而且容易看到缺陷。
我们的手机电脑缩小为袖珍型,便于随身携带。 这意味着随着时间的推移,事情不会像过去那样快速发生,或者事情可能会变得有点儿麻烦。 这是普遍的; 它发生在Galaxy手机和LG手机以及Pixel手机和iPhone以及其他所有不仅可以拨打电话和发送短信的手机上。 有些人说他们没有 看到 它发生,这是因为它发生的 原因 以及为所有不同的手机编写软件的方式。 但它现在仍然在你的手机上发生,并且永远都会发生。
让我们来看看通常所说的“Bit Rot”,看看我们是否能够更好地理解事物。
什么是Bit Rot,确切地说?
对于进入计算机的人而言,这个术语被大量抛出,这基本上意味着该软件“老旧”并且变得比以前慢。 有三件事情在起作用,即使它们不是很容易理解,它们也有很好的文档记录: 软件侵蚀 , 软件熵和软件膨胀 。
首先,一些异常值
有时也会有其他因素。 数据降级和功能蠕变会导致程序和应用程序变慢,但它们更容易解释,并且与我们称之为Bit Rot的方式略有不同。 数据降级是一个奇特的词,意味着你的内存 - 无论是RAM,存储还是两者 - 都在变老。 RAM和固态介质需要电荷,随着时间的推移,它可以分散比设计的更多。 这意味着可以更改一些存储位(软件位)。 当一些位错误时,许多程序可以补偿但这需要时间并且程序稍慢。 当很多比特出错时,事情就会停止按预期工作。
数据降级和功能蠕变也会使您的手机变慢,但与Bit Rot不同。
功能蠕变很容易理解。 您的手机在构建时考虑了一组特定的软件。 当您获得添加更多功能的更新时,硬件必须更加努力并且速度会变慢。 在线论坛上充满了讨厌Galaxy手机最近更新的人以及讨厌iOS最新版本的老iPhone用户。 这是因为该软件是用更新更强大的硬件编写的,就像手机最初附带的软件一样。 我们都喜欢新的功能和更新,但古老的格言“小心你想要的东西”就是这里的钱。
这些问题肯定会产生影响,但它们与Bit Rot不同,可能对我们手机的任何缓慢都没有太大贡献,因为我们没有让它们保持足够长的时间来看它的实际效果。
软件侵蚀
软件侵蚀是任何软件可能发生的缓慢但稳定的性能下降,无论是我们使用了多少还是只是一点点。 甚至从来没有。 发生这种情况是因为我们 使用 软件并且所有应用程序在使用时都会发生变化 - 我们将用户数据添加到基础中,以便软件完成我们想要的操作。 请注意,这与软件变得缓慢或错误有所不同,而我们正在大量使用它,但重新启动后恢复正常。 这通常是由于随着时间的推移累积的小错误或内存泄漏。 您无法通过关闭并重新打开应用程序或重新启动手机来修复软件侵蚀。
所有软件都有错误,所有软件都需要定期维护。
有两种不同类型的软件侵蚀,休眠和活动。 休眠软件侵蚀发生在一个程序或你不使用的程序部分因为其他事情发生变化而停止运行,并且在你使用它时由于变化而发生主动侵蚀。 两种类型都是由于几个不同的原因而发生的。
- 未使用或剩余的代码可以(并且经常)包含不会被捕获的错误。
无论开发人员或用户说什么,所有软件都有错误。 当公司更改某些代码时,很有可能某些原始代码永远不会被使用,但仍然会内置到最终产品中。 这里的错误不太可能被捕获并且可能立即生效或需要一段时间才能显示出来。
- 由于软件不是用户友好的变化发生了很多。
开发人员构建的软件具有我们将如何使用它的特定想法,但一旦它进入我们的手中,我们通常不会那样使用它! 有时候这不是我们的错,而且软件的界面实现得很差,所以我们做了开发人员从未想过的事情。 其他时候,这是我们的错,我们做的事情包括制作多个帐户或运行多个应用程序或功能的实例,而这些实例并非旨在以这种方式运行。 这可能会使应用程序难以处理的用户数据或缓存数据更加困难。
- 缺乏更新和维护是不好的。
任何开发人员都会告诉您,一旦程序发布,作业就不会完成,并且需要维护软件。 这意味着修复用户发现的错误,但也经常更新以便与其他软件一起使用。 全面缺乏定期维护是软件侵蚀的最大原因。
在手机上运行的“Android”实际上是一大群独立运行的程序和服务,需要不断地相互通信。 一个例子:Facebook在他们的服务器上进行了另一项更改,然后在Google Play中更新了应用程序。 您的通讯录应用程序与Facebook绑定,因此可能需要更新。 或者您的相机获得了更新,但与之相关的图库应用程序却没有。 系统的所有部件都需要与所有其他部件一起使用,这意味着定期维护。
这里的好消息是,许多软件侵蚀问题通过出厂重置来修复,其中所有用户数据都被擦除。 坏消息是它最终都会回归。
软件熵
我们 无法 更改的所有软件都有错误和未使用的代码(见上文)。 随着时间的推移,这些错误可能会保持不变,但随着我们 可以 改变的软件复杂性的增加,这些错误会变得更糟 这称为软件熵。
您更改的软件会影响您无法更改的软件,因为系统本身变得更加复杂。
手机上的大多数软件都处于封闭系统中。 您可以从Play商店更新键盘或相机应用程序,但大部分操作系统是在出厂时安装的,只有在完整系统更新时才会更改。 这与所有应用程序(工厂安装的用户应用程序和您自己安装的应用程序)非常不同。 随着时间的推移,您 可以 更改的软件变得越来越复杂,您无法更改的软件必须处理它。
在所有这些方面,在手机上编写软件的人都非常聪明。 但是没有人能够知道我们将要做的事情,新的应用程序将能够做什么,以及如何为一组API(应用程序编程接口)设计的应用程序,例如,来自其软件开发工具包的三星API,将适用于应用程序专为另一组API而设计,例如Google中属于Android的API。 开发人员必须尽最大努力猜测并以不会破坏和希望最好的方式制作软件。
有两种方法可以对抗软件熵 - 通过及时更新定期进行软件维护,或者将用户软件重置为出厂状态。
软件膨胀
这不是名称所暗示的,尽管额外的英国媒体报道应用程序可以并确实导致事情运行得更慢。 谈论Bit Rot时,软件膨胀意味着充满额外或未使用功能的软件。
添加到任何程序的功能越多,它就越复杂。 复杂性使应用程序变慢。
“额外”功能无法定义。 我不使用的应用程序或应用程序的一部分对我来说是无关紧要的,但您可能会使用并喜欢它们。 从计算机的角度来看,唯一的好应用是只做一件事,然后在完成后自行关闭。 从用户的角度来看,这是不切实际的; 想象一下在键入每个字母后关闭的键盘应用程序。 制作我们喜爱的手机的公司必须通过使用正确的硬件或削减应用程序中的功能,在功能和性能之间找到一个愉快的媒介。 这可能意味着添加更多RAM并使用更快的处理器或应用程序中的修剪功能,或两者兼而有之。
“额外”功能的另一部分是必须能够处理多个(通常是竞争)标准的软件。 您的电子邮件应用程序就是一个很好的例子。 如果您使用Gmail并使用Gmail应用程序,那么与您使用 其他 电子邮件应用程序使用Gmail帐户,Exchange帐户或类似Yahoo! POP3帐户。 电子邮件应用必须能够执行Gmail应用无法执行的操作,并且必须能够处理我们创建的不同类型的数据。 这需要时间来处理,因为我们添加更多数据需要更多时间。
也许“额外”功能的最佳示例以及它们如何影响性能将比较Evernote和Google Keep。 如果您只使用该应用程序进行记录,则Evernote中的所有附加功能意味着需要花费更多时间来添加或阅读它们。 如果您喜欢这些额外的功能,您很快就会发现Google Keep无法完成大部分功能。 这里没有对错,但这对性能有很大影响。
未使用的“剩余”功能仍然可以运行并导致问题,我们的手机充满了它们。
未使用的功能更令人沮丧,因为我们不知道它们在那里,如果我们这样做,我们就无法做任何改变。 当像LG这样的公司(我们会在这里选择它们,但这适用于所有制造手机的公司,甚至是谷歌)制作一部手机时,他们自己的应用程序是“股票”Android应用程序的副本,如电话拨号器或日历,有很多剩余的代码没有被使用。 当您启动手机时,某些代码仍会运行。 我们已经讨论过这意味着在这部分代码中如何更难找到错误,但它也会对性能产生很大影响。 当我们考虑软件熵时,我们会看到这些错误随着时间的推移会变得越来越糟。
当您在评论中看到有关Moto G5这样的手机如何比具有一半硬件功能的Galaxy S8更快时,会看到愚蠢的论点,软件膨胀就是原因。
那么这一切意味着什么呢?我能做些什么呢?
这是一个简单的问题 - 这意味着有些手机比其他手机慢,有些手机随着时间的推移变得明显变慢,而其他手机受影响较小。 而且我们无能为力。
更多功能意味着软件速度更慢,Bit Rot发生的机会更多。 这是许多人乐意做的交易。
真实的话题 - 像Note 8这样的手机显然比Pixel 2更慢(并且在连接到监控性能的工具时显示它)。Note 8在未来六个月左右会更慢。 但Pixel 2 永远 无法完成Note 8所做的一些事情,无论我们安装了多少应用程序,或者我们如何破解它的废话。 在Note 8上捕获后,我可以立即使用S Pen注释屏幕截图,但是在Pixel 2上,我必须将屏幕截图分享到另一个设备,以相同级别的功能和细节对其进行注释。
就像上面的Evernote vs. Google Keep论点一样,更好的方法主要是你喜欢的功能。 Note 8具有 所有 功能。 这意味着它具有使Bit Rot更加引人注目的所有错误和软件膨胀。 这可能是一个问题,但对于其他人来说,并不是因为没有其他方法可以获得功能集。 这就是为什么有更多的Android手机而不仅仅是Pixel和Pixel Plus,以及当他们说Android为您提供选择时每个人的意思。
当Bit Rot变得足以解决您需要对其进行操作的问题时,只需重置您的手机并花几个小时来重新设置所有内容。
有问题吗?
在下面的评论中发出声响!