在Android中添加太多库的缺点有哪些?

5

我一直希望使用Gradle在我的项目中添加很多Android库。

如果说添加了10个库,会有负面影响吗?

比如扩大应用程序的大小、占用更多内存或减慢应用程序的速度吗?

3个回答

5
我认为缺点不在于APK过大,或者在没有使用multidex的情况下可能达到65536的方法限制(https://developer.android.com/studio/build/multidex.html)。
您可以通过使用Proguard(https://developer.android.com/studio/build/shrink-code.html)来避免这种情况,这将大大减少方法数量,因为您几乎永远不会使用库的所有部分。
在我看来,真正的缺点是可维护性(我参与了许多不同的项目,其中几乎所有事情都使用库)。 如果使用不正确,或者您没有真正考虑正确的用法,则某些库会增加复杂性并减少调试能力。
因此,当您想要使用库时,请使用它,但请考虑以下内容:
  • 它确实是为我的目的而设计的吗?(阅读文档)
  • 我应该如何正确使用它?(阅读文档)
  • 我真的需要它,还是可以使用标准框架来实现它?(不要重新发明轮子,但可能库对您的目的来说过于复杂)

希望这能帮到你一点

问候 Lukas


0

自API版本21起,没有方法数量限制。如果在您的build.gradle中设置minSdkVersion 21,则不会有此限制。

但是,您仍然可能需要处理问题,例如第三方库存在错误、与其他库冲突、应用程序占用更多磁盘空间、代码复杂度增加等等。


0

这个应用程序将会更大。

此外,单个Android应用程序中可以定义的方法数量有限,而且比您想象的要低。对于大型应用程序,人们已经达到了这个限制。当然,有解决方法,但是这很麻烦,添加库意味着更多的机会会达到这个限制。


1
哦,我明白了。有时候很不幸,当我只需要库中的一个函数或特性时,它却有很多其他的功能。也许这会占用空间。 - zeroh729
1
一个 Android 应用程序中定义的方法数量有限制吗? - Dave Newton
如果您的API级别低于21且不使用multidex,则为65536。 - Philip

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接