我正在构建一个从网页上抓取信息的应用程序。为此,我选择使用一个名为Jsoup的html scraper,因为它使用起来非常简单。 Jsoup还依赖于Apache Commons Lang libray。 (它们总共构成了385kB)。
因此,将使用Jsoup下载页面并进行解析。
我的问题是,使用这些简化的库而不是使用Android的内置库会使我的应用变慢吗? (就数据下载和解析而言)。
我当时在想内部库将针对Android进行优化。
最佳答案
如果问题是“与我自己编写相同的代码相比,外部库会固有地使我的应用程序变慢吗?”,答案通常是:“是,但不是很多。”
JVM需要一些时间来加载外部库。该库可能具有您未使用的功能,因此加载或读取它们会花费一些时间。但是在大多数情况下,这种差异是微不足道的,除非您处于高度受限的环境中,否则我不会担心。
如果您的意思是“我可以编写比外部库更快地执行相同功能的代码吗?”,答案是:“几乎可以肯定,但是值得您花时间吗?”
很有可能您所使用的任何外部库都具有您不需要的各种功能,但这些功能是为了满足其他人的需求而提供的。该库的作者并不确切知道每个用户都在做什么,因此他们必须以一般方式进行优化。因此,如果您编写自己的代码,则可以使其完全执行所需的工作,而仅对其进行优化,以完全满足您的要求。
在您的特定情况下是否值得麻烦是一个大问题。