【问题标题】:Are there any disadvantages in adding too many libraries in Android?在Android中添加太多库有什么缺点吗?
【发布时间】:2015-04-06 02:06:45
【问题描述】:

我一直想使用 Gradle 将大量 Android 库添加到我的项目中。

假设添加了 10 个库,它会产生负面影响吗?

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

【问题讨论】:

    标签: java android gradle android-library


    【解决方案1】:

    我认为缺点不是APK太大,或者不使用multidex(https://developer.android.com/studio/build/multidex.html)可能的方法限制为65536。

    您可以通过使用 Proguard (https://developer.android.com/studio/build/shrink-code.html) 来避免这种情况,这将大大减少方法的数量,因为您几乎不会使用库的所有部分。

    在我看来,真正的缺点(我参与了许多不同的项目,其中几乎所有你能想象到的东西都使用了库)是可维护性。 如果使用不当,或者您没有真正考虑正确的用法,某些库会增加复杂性并降低可调试性。

    因此,当您想使用库时,请使用它,但请考虑以下事项:

    • 它真的打算用于我的目的吗? (阅读文档)
    • 如何正确使用它? (阅读文档)
    • 我真的需要它,还是可以用标准框架实现它? (不要重新发明轮子,但图书馆可能为您的目的而过度使用)

    希望对你有所帮助

    问候 卢卡斯

    【讨论】:

      【解决方案2】:

      应用会更大。

      此外,可以在单个 Android 应用中定义的方法数量是有限制的,而且比您预期的要少。人们已经通过大型应用程序达到了这个极限。当然,有很多方法可以绕过它,但这很痛苦,添加库意味着你有更多机会达到这个限制。

      【讨论】:

      • 哦,我明白了。不幸的是,有时我只需要库的一个功能或特性,而它有很多。也许这会占用空间。
      • android 应用中可以定义的方法数量有多少限制?
      • 65536 如果您的 API 级别
      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2015-04-19
        • 2015-12-28
        • 2012-04-04
        • 2011-05-22
        • 1970-01-01
        • 2020-05-11
        • 2019-09-15
        • 2011-04-26
        • 2011-02-28
        相关资源
        最近更新 更多