<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          谷歌宣布 Android 加入對 Rust 的支持!

          共 2704字,需瀏覽 6分鐘

           ·

          2021-05-02 01:19

           微信改了推送機(jī)制,真愛請星標(biāo)本公號
          公眾號回復(fù)BAT加入BATcoder技術(shù)群
          出品 | OSCHINA
          文 | 局長
          谷歌發(fā)布博客稱 AOSP (Android Open Source Project) 現(xiàn)已支持使用 Rust 開發(fā) Android 操作系統(tǒng)。
          谷歌表示,Android 大約 70% 的高危安全漏洞由內(nèi)存安全問題造成。順便一提,微軟和 Chrome 宣布采用 Rust 解決內(nèi)存問題時(shí)也提到了「70% 的安全漏洞是內(nèi)存安全問題」這個(gè)說法(分別查看微軟、Chrome 的公告)。這是什么定律?
          對于這些內(nèi)存安全問題,谷歌表示除了優(yōu)化內(nèi)存錯(cuò)誤檢測機(jī)制外,最有效的解決辦法是采用內(nèi)存安全語言。雖然 Kotlin 和 Java 也屬于內(nèi)存安全語言,同樣是為易用性、可移植性和安全性而設(shè)計(jì),它們是開發(fā) Android 應(yīng)用的最佳選擇,但對于操作系統(tǒng)的底層而言,不能選擇 Kotlin 和 Java。
          操作系統(tǒng)底層開發(fā)需要使用系統(tǒng)級編程語言,例如 C、C++ 和 Rust,這類語言支持訪問底層系統(tǒng)資源和硬件。對于 C 和 C++ 來說,開發(fā)者負(fù)責(zé)管理內(nèi)存生命周期,但管理內(nèi)存時(shí)因多線程代碼庫的復(fù)雜性很容易導(dǎo)致他們犯錯(cuò)。
          Rust 則可以利用編譯時(shí)檢查(確保對象的生命周期和所有權(quán))和運(yùn)行時(shí)檢查(確保內(nèi)存訪問有效)來保證內(nèi)存安全,并且 Rust 在實(shí)現(xiàn)這種安全性的同時(shí),還提供了與 C 和 C++ 相當(dāng)?shù)男阅堋?/span>
          谷歌表示,引入新的編程語言并不能解決現(xiàn)有 C/C++ 代碼中的錯(cuò)誤。即便重新調(diào)動(dòng) Android 團(tuán)隊(duì)中每個(gè)軟件工程師參與開發(fā),重寫幾千萬行代碼并不可行。因此,Rust 主要用于新的開發(fā)而不是重寫成熟的 C/C++ 代碼。
          更具體的原因是,谷歌對內(nèi)存安全錯(cuò)誤存在的時(shí)長進(jìn)行了分析,發(fā)現(xiàn)大多數(shù)內(nèi)存安全錯(cuò)誤都發(fā)生在新的或最近修改的代碼中,其中大約 50% 只出現(xiàn)了不到一年,這些錯(cuò)誤后面會(huì)逐漸修復(fù),也就意味著舊代碼并不是迫切需要改進(jìn)的地方。
          無論如何,向 Android 平臺(tái)添加新的開發(fā)語言支持是一項(xiàng)大工程。比如需要維護(hù)工具鏈和依賴關(guān)系、更新測試基礎(chǔ)設(shè)施和工具、以及對開發(fā)者進(jìn)行培訓(xùn)等。谷歌表示,在過去的 18 個(gè)月里,他們一直在為 AOSP 添加 Rust 支持,并計(jì)劃在接下來的幾個(gè)月內(nèi)共享部分早期使用 Rust 開發(fā)的項(xiàng)目。此外,谷歌還計(jì)劃將 Rust 擴(kuò)展到更多系統(tǒng),這將是一個(gè)長期計(jì)劃。

          ·················END·················

          推薦閱讀

          ? 耗時(shí)2年,Android進(jìn)階三部曲第三部《Android進(jìn)階指北》出版!

          ? 再見SharedPreferences,你好MMKV!(附中獎(jiǎng)名單)

          ? 相冊適配 Android 11 繞的那些彎路!

          BATcoder技術(shù)群,讓一部分人先進(jìn)大廠

          你好,我是劉望舒,騰訊云最具價(jià)值專家TVP,著有暢銷書《Android進(jìn)階之光》《Android進(jìn)階解密》《Android進(jìn)階指北》,蟬聯(lián)四屆電子工業(yè)出版社年度優(yōu)秀作者,谷歌開發(fā)者社區(qū)特邀講師。

          前華為面試官,現(xiàn)大廠技術(shù)負(fù)責(zé)人。


          想要加入 BATcoder技術(shù)群,公號回復(fù)BAT即可。

          為了防止失聯(lián),歡迎關(guān)注我的小號


                     
            微信改了推送機(jī)制,真愛請星標(biāo)本公號??
          瀏覽 52
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色婷婷啪啪啪 | 99在线免费 | 中字幕视频在线永久在线观看免费 | 狠狠狠狠狠操 | 美女操逼AV |