非死book通过检查Android源代码修复应用问题

jopen 12年前

  非死book 透露,去年底该公司的移动应用在旧版本的 Android 系统运行时出现了问题,工程师通过检查 Android 源代码找到了问题根源(主要与系统有关),找到了解决问题的迂回方法。非死book 称赞了 Android 的开源性质,表示如果不开源他们不可能解决问题。

  非死book 解释说,在标准的应用安装过程中,系统会先运行名叫 dexopt 的程序,它使用固定容量的缓存储存应用使用的方法信息。较新版本的 Android 设定的 dexopt 缓存大小是 8MB 或 16MB,而 Android Froyo 和 Gingerbread (v2.2 和 2.3)只有 5MB,因此在旧版本上当缓存超过限制后就会导致 dexopt 崩溃。非死book 工程师认为,他们可以将应用分割到多个 dex 文件,从而绕过问题。他们可以让一个 dex 文件储存核心模块信息,另一个文件储存扩展模块信息。然而这种方法被发现行不通。非死book 开发者最终通过检查 Dalvik 虚拟机源代码找到了设置缓存的代码,将缓存大小从 5MB 增加到 8MB,他们向 Google 递交了补丁,新版的 非死book 应用很快就获得批准,Gingerbread 用户现在可以正常使用应用了。

来自: Solidot