国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

android - 微信的安裝包在只編譯了armeabi,沒有armeabi-v7a,arm64-v8a,x86是如何運行在各種處理器的手機上的?

瀏覽:130日期:2022-09-30 10:50:43

問題描述

我寫的程序里面編譯了armeabi,armeabi-v7a,arm64-v8a,x86四種so文件,我想通過刪除so文件的方式減小APK體積,但是刪掉后部分機型的部分功能會報錯,然后發現微信只編譯了armeabi一種so文件,沒有armeabi-v7a,arm64-v8a,x86是如何運行在各種處理器的手機上的?

問題解答

回答1:

因為armeabi支持在 armeabi,armeabi-v7a,arm64-v8a下運行,也支持部分x86。而市面上基本沒有mips架構的手機,所以理論上一個armeabi 就支持所有的手機了。armeabi運行在v7 v8 下只是效率會有偏差。

可以看這個關于Android so文件你所需要了解的

回答2:

所有的x86/x86_64/armeabi-v7a/arm64-v8a設備都支持armeabi架構的.so文件,因此似乎移除其他ABIs的.so文件是一個減少APK大小的好技巧。但事實上并不是:這不只影響到函數庫的性能和兼容性。

x86設備能夠很好的運行ARM類型函數庫,但并不保證100%不發生crash,特別是對舊設備。64位設備(arm64-v8a, x86_64, mips64)能夠運行32位的函數庫,但是以32位模式運行,在64位平臺上運行32位版本的ART和Android組件,將丟失專為64位優化過的性能(ART,webview,media等等)。

回答3:

有可能是動態加載的。

回答4:

首先,armeabi能夠兼容其他架構armeabi-v7a,arm64-v8a,x86。其次,你只是看到了微信armeabi目錄而已,這個目錄下還可以放置其他架構的SO文件,再通過代碼實現選擇加載哪一個架構的SO文件。

標簽: 微信
主站蜘蛛池模板: 沽源县| 达拉特旗| 含山县| 三亚市| 萨迦县| 和林格尔县| 邵武市| 临汾市| 甘德县| 营山县| 盱眙县| 化隆| 新泰市| 务川| 长乐市| 章丘市| 监利县| 永州市| 枝江市| 龙井市| 安图县| 张家界市| 磐安县| 安溪县| 通化县| 漳平市| 洱源县| 石门县| 濮阳县| 涟水县| 安康市| 图木舒克市| 吉隆县| 塔城市| 饶阳县| 孝昌县| 古浪县| 东丰县| 抚松县| 个旧市| 公安县|