| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
12年前发布

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

  非死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