久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

問題描述

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

問題解答

回答1:

因?yàn)閍rmeabi支持在 armeabi,armeabi-v7a,arm64-v8a下運(yùn)行,也支持部分x86。而市面上基本沒有mips架構(gòu)的手機(jī),所以理論上一個(gè)armeabi 就支持所有的手機(jī)了。armeabi運(yùn)行在v7 v8 下只是效率會(huì)有偏差。

可以看這個(gè)關(guān)于Android so文件你所需要了解的

回答2:

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

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

回答3:

有可能是動(dòng)態(tài)加載的。

回答4:

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

標(biāo)簽: 微信
主站蜘蛛池模板: 安义县| 绥中县| 黄浦区| 富平县| 冕宁县| 伊金霍洛旗| 襄城县| 北辰区| 布拖县| 清镇市| 陆河县| 喜德县| 搜索| 河津市| 海宁市| 古田县| 磐石市| 锡林浩特市| 运城市| 百色市| 北票市| 成都市| 社旗县| 鞍山市| 亳州市| 都江堰市| 禹州市| 昌黎县| 武夷山市| 津市市| 酒泉市| 肥乡县| 云林县| 张家港市| 万盛区| 麻阳| 民勤县| 麻栗坡县| 道孚县| 饶平县| 颍上县|