【发布时间】:2017-01-23 00:31:23
【问题描述】:
最近我读到了有关 Dalvik 65K 方法限制的信息。我了解方法调用列表只能调用前 65536 个方法引用。 为了解决这个问题,我们有许多解决方案。其中之一是多重索引,我们使用 android 的支持库将 .dex 文件拆分为多个类 [classes.dex, classes1.dex ...]。
我无法理解的是,Android 应用程序由于这种多重索引而遭受了哪些缺点,以及我们为什么要付出大量努力来最小化引用方法的数量。
在我的理解中,为了减少方法计数,我必须减少模块化,这使得我的代码可读性降低,除了剥离第三方库的代码所花费的小时数。减少方法计数值得吗?
【问题讨论】:
-
增加了构建时间,我建议避免使用多索引。
-
@MuhammadBabar 如果将应用程序划分为多个模块,可以减少构建时间。
-
@AkashKava 这不是更忙于管理吗,或者请举一些例子或好的帖子来解释原因?
-
@MuhammadBabar 模块是单独编译的,只有当模块内的任何文件被修改时,才会编译整个模块,这样已经编译的模块占用的时间更少。每个模块也可以预先索引,这意味着即使索引时间也会减少。
-
我们可以使用多个模块来构建一个应用程序吗?
标签: android performance dalvik