armeabi與armeabi-v7a的區別


1、手機cpu架構。

講到armeabi就不得不講手機cpu了。電腦有電腦的cpu,手機也有手機的cpu。cpu有廠商屬性,也有架構屬性,架構的話自己簡單地理解就是它的內部模塊的組成結構。

其中arm架構的手機cpu占市場的大部分,這也是今天的重點。但arm架構的發展歷史悠久,也有很多不同的版本。

2、前面講了cpu架構,為下面的講述做了一個技術背景的鋪墊。

我們在開發Android項目的時候,比如使用高德地圖導航或者3d地圖的時候就會使用到.so庫文件,它們保存在armeabi和armeabi-v7a或arm64-v8a等目錄下,這有什么作用呢?

其實這是給app運行時讀取的幾個目錄,但會根據手機cpu架構類型只從其中一個文件夾讀取,有點類似values和values-21的作用,但是與它們又有點不同。

后者的規則是:如果手機是21以上的會首先在values-21文件里面查找樣式等,如果查找不到才去values文件找;如果手機是21以下的就直接在values文件下找。

前者的規則是:根據cpu架構類型去app的libs里面匹配到對應的目錄比如armeabi或者armeabi-v7a,然后就加載這個目錄下的.so庫;

如果在匹配到的目錄下沒有對應的庫也不會去別的目錄下加載;

但是armeabi目錄可以匹配所有的arm架構的cpu,意思是指所有的arm架構的cpu的安卓手機如果沒有找到最優的對應的目錄,則會去匹配armeabi目錄。

我的推測是arm架構的cpu是向下兼容的,即保留之前版本的功能,而armeabi目錄是匹配低版本armv5的,所以高版本的arm架構的cpu可以讀取armeabi目錄下的.so庫文件;查過資料會發現低版本的arm架構cpu支持軟浮點運算而高版本的支持硬件浮點運算,這是他們的區別之一。

                                                                                                                                                                                                                                                                         (轉)https://blog.csdn.net/jiayouwangqiuwangzi/article/details/64437485


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM