围绕Android性能揭穿神话

围绕Android性能揭穿神话

Android每月活跃用户超过30亿,是全球最著名和最畅销的操作系统。据认为,截至2020年8月,Android的Play商店包含超过30亿个应用程序。即使有这样的统计数据,Android仍然面临相当数量的负面宣传,这都是由于神话围绕其性能而引起的。作为专业 Android应用开发公司 ,我们今天想为您揭开其中的一些神话。

对于“神话破灭”,我们将使用一些真实的例子,一些工具以及支持的事实来检验这些神话。目前,关于Android Performance似乎有很多神话。开发了许多脚本,声称可以提高性能,电池寿命和许多其他方面。它们中的一些实际上可以起作用,但是有些只是产生安慰剂效果,从长远来看可能会造成损害。

所以让’我们仔细研究了一些最常见的优化,并检查它们是否确实有效或只是一个神话。

交换

交换是荒谬的,因为即使Android也没有单独的分区进行交换。您问什么是掉期?交换的主要功能是创建并连接页面文件,从而释放可用的存储空间。它通过交换将不需要或不活动的数据移动到内存中,并在需要时再次取回。

但是,这种交换没有任何区别,并可能导致严重的滞后。连续地将大量数据移入和移出内存会导致系统滞后问题的增加。一些开发人员声称交换可以使他们的系统运行得更快,但不是交换,而是Android内置的低内存杀手,它可以执行并杀死不再活动的高优先级任务。

Kotlin比Java应用程序慢

假定基于Kotlin的应用程序比基于Java的应用程序更慢且更大。 Google将其Drive应用程序从Java转换为Kotlin,其中包括在170个文件中编写16,000行代码。第一次启动时,执行了速度检查,结果为2238 ms,比用Java开发的应用程序高2ms。 2ms没什么,它并没有造成随后的速度变化。

实际上,Google官员声称他们并没有发现任何性能差异。虽然,他们确实用少25%的编码行来完成任务。不用拖慢应用程序,而是用Kotlin进行编码为Google提供了更简洁的代码库,易于维护。

设置者和获取者都很昂贵

许多开发人员更喜欢使用公共字段而不是使用setter和getter来提高性能。通常,使用getom作为我们的getter,带有getter和setter的语法代码如下所示:

公共类egClass {
公共内部;
公共int getom(){return om;}
}
egClass tc =新的egClass();

使用Jetpack基准测试库,我们在具有最新Android版本的实时设备上验证了此代码。

结果:getter版本的功能与public字段的功能相同。这里的性能没有差异。 AOT或JIT编译后执行的代码是相同的。如果您不使用Kotlin,则不必违反封装惯例。最好隐藏数据,而不是仅仅为了性能而将其公开。

对象分配昂贵,使用池更好

研究表明,距Android诞生已有十多年了,Android版本中的对象分配已得到了显着改善。 Android依赖于对象和垃圾收集。在每个版本上,甚至Android的垃圾回收都得到了改进。到目前为止,Android中的Garbage集合对应用程序的流畅性影响很小甚至没有影响。

因此,要提高应用程序的性能,您得出的结论是,创建的垃圾越少,垃圾收集就越少。因此,不是创建更多的对象,而是开始创建一个常用代码池,然后从那里访问对象。

它不会显示标准对象分配和池分配之间的任何区别。尽管在进行垃圾回收时,池分配可能会降低性能。

这里的神话是使用对象分配还是池作为解决方案。两种解决方案的性能都没有任何区别,因此,这完全取决于您的项目要求,但请记住Pool解决方案的缺点:

●更大的内存占用量
●需要系统的池实施
●池中寿命更长的对象会增加风险因素。

即使存在某些缺点,Pool解决方案也可以证明对大型对象分配是有益的。

包起来

我们试图消除一些有关Android Performance的常见误解。但我们也测算出其中一些并非完全是假的。因此,在将它们包含在复杂的定制中之前,首先测试该技术很重要。也有许多工具可以帮助您了解和确定哪种方法最适合您的应用程序。

在领先的Android应用程序开发公司Android Developers,我们的开发人员喜欢遵循敏捷方法,并在选择代码进行优化之前继续进行基准测试和衡量代码的可信度。因此,我们经验丰富的团队能够提供广泛的Android应用程序开发服务。 Kotlin应用程序开发服务,应用程序迁移,Android应用程序维护和支持是我们提供的一些服务。您还可以根据项目要求雇用android应用开发人员。

常见问题

Q1。如何提高我的Android应用程序性能?

有多种方法可以提高应用程序的性能,编写更简洁的代码是其中一种。但是,如果您的申请很复杂,最好寻求专业人士的帮助或 雇用一名Android应用程序开发人员.

Q2。哪种工具最适合Android应用程序开发?

每当有关Android开发的对话开始时,Android Studio便是每个人都想到的第一个工具。毫无疑问,它是android应用程序开发的最佳工具。其他几个著名的工具是:

●Stetho
●摇篮
●爱德
●漏金丝雀

Q3。您如何监控Android应用程序的性能?

我们使用几种不同的工具来监控开发期间和之后的应用程序性能:
●雷根
●掌声
●新遗物
●Datadog
●AppDynamics等