非死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
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!