現在的手機操作系統領域基本是安卓、iOS分庭抗禮。安卓靠極低的使用成本與多樣化的體驗佔據最大的市場份額,iOS則靠軟硬一體化的優秀體驗與強力的許可權、應用市場吸引了大量用戶追隨。但細究起來,這兩個系統都有著不少痛點,有些痛點甚至已經讓大家習以為常,放棄抵抗了。但這些問題並不是不存在,更不是沒有解決方案——

安卓:

  1. 存儲空間機製造成的嚴重問題:
    1. 有許可權的應用可互相讀取、篡改其他應用和用戶自己放在「存儲空間」許可權對應的空間中的內容;而獲取存儲空間許可權,只需要給用戶一個發送照片的功能。
    2. 用戶無法控制應用讀寫存儲空間的範圍,即使用戶只是想發送一張照片,也要嚮應用暴露整個存儲空間。
      1. 理想的處理方式是「媒體庫」,按圖片、音樂、視頻、文檔類別分開存儲、分別授權,以限制應用濫用許可權,讀取不該讀取的內容。
      2. 為了與安卓許可權機制兼容,可以依然使用「存儲空間」單一許可權介面,但提供更高級更精細的訪問控制,如將應用創建的目錄重定向到二級沙盒以避免其它應用讀寫;按預設和自定義目錄進行精細授權,變相實現媒體庫機制。而應用讀取存儲空間目錄時,只能獲取到自己有權訪問的目錄內容。對沒有許可權的預設目錄(DCIM、Video等),只能讀取到空目錄,寫入操作也重定向到沙盒或直接不進行實際寫入。以此兼容目前的安卓應用。
      3. 對讀、寫操作分開授權,或在修改已有文件時由系統強制彈出確認框,以限制應用未經用戶許可篡改存儲內容。
  2. 許可權系統的設計缺陷;
    1. 「不授予許可權就退出」問題依然普遍存在,集中在存儲空間、手機關鍵信息(IMEI、手機號、Mac地址)等。可採用存儲重定向到二級沙盒、返回虛假信息的方式來繞過。
    2. 對有許可權應用靜默濫用許可權沒有任何辦法,例如通過掃碼功能獲取拍照許可權,然後在用戶不知情時靜默拍照並上傳;通過發送照片功能獲取存儲空間許可權,然後在用戶不知情時掃描整個存儲空間,搜集用戶使用其它應用的信息和用戶自拍照、文檔等敏感信息。
      1. 解決方案一是提供一次性授權機制,對存在靜默濫用問題的許可權,在應用安裝時,提供「臨時允許」的選項,與「永久允許」、「禁止」並列。應用檢查許可權清單時,「臨時允許」會返回「已授權」狀態,以兼容目前安卓系統的許可權機制,同時繞過「不給許可權不運行」的問題;在調用對應功能時,彈出提示框,授權後根據許可權本身的特性(並在授權管理提供次級選項),在對應操作完成、應用進入後台或者退出應用時收回授權。從而在阻止靜默濫用的同時,繼續兼容目前的安卓應用;
      2. 進一步的解決方案可以採用「強制可見」策略,例如選擇照片必須使用系統提供的照片選擇器,不允許應用直接讀取相冊。拍照、錄音等也可以使用類似機制,必須使用可見的相機控制項獲取照片、使用可見的錄音控制項獲取錄音,不允許應用繞過UI層直接連接攝像頭、麥克風等。
  3. 系統版本碎片化,歷史包袱沉重:
    1. 系統本身需要向前兼容應用,應用也需要兼容大量不同版本的系統,造成開發成本上升,缺陷率提高;
    2. 後台應用休眠、應用沙盒等先進機制難以推廣應用,甚至有不少應用以「向前兼容」為理由,繼續使用公開存儲空間存儲緩存內容、使用不必要的喚醒鎖和後台服務等。
    3. 相機、音頻等關鍵API不統一,造成第三方相機、Hifi播放器等應用開發困難,功能不足。
  4. 缺少強力應用審核、監管方造成的各種問題
    1. 山寨應用市場、應用推廣聯盟,與相伴而生的篡改版應用、全家桶連鎖喚醒等;
    2. 對違規應用缺乏有力的處理手段;
    3. 第三方UI開發商的系統級作惡,例如流量劫持、隱私泄露。
  5. 缺少一致的設計規範,視覺、交互體驗混亂。
  6. 觸屏、動畫、音頻機制有先天不足:
    1. 觸屏事件響應優先順序低,造成操作延遲;
    2. 原生動畫API功能孱弱,迫使應用自行實現動畫效果,造成運行效率低下;
    3. 底層音頻驅動存在問題:SRC、不支持更高精度的音量調節等。

iOS:

  1. 缺少有效的公共存儲空間(文件管理)機制:
    1. 適配iOS文件管理機制的應用還是太少,甚至不少下載、文件處理類應用都沒有適配;
    2. 媒體庫機制不完善,音樂庫對第三方應用只開放了只讀的歌曲庫,沒有修改許可權,沒有播放列表許可權;圖片時間流沒有區分照片與其他來源圖片;缺少視頻庫。
  2. 對有許可權的應用前台運行時濫用許可權的情況,只能依賴審核:
    1. 例如有相機許可權的應用使用AVFoundation介面靜默拍照、有相冊許可權的應用靜默讀取整個相冊內容並偷偷上傳;
  3. 缺少實用的應用長後台運行機制,導致下載、文件轉換類應用難以使用
    1. 可以採用類似iOS定位許可權的管理、提示機制,有應用進行長期後台運行時,在狀態欄給出高亮提示;
    2. 結合電源管理、屏幕時間管理功能,針對長時間後台運行的應用,向用戶做出提示,避免應用濫用許可權的情況。
  4. 自定義體驗較少,例如沒有主題機制,無法自由放置應用圖標等。

鴻蒙系統,其實就提供了一個機會:從安卓、iOS取長補短,拋開安卓的各種包袱,另起爐灶構建更理想的操作系統。

反正各種機制都要自己搞,乾脆搞得完美一些,豈不美哉?

安卓太混亂,iOS太死板,鴻蒙可以走一條理想的中間路線,拋開包袱,輕裝上陣,解決兩大系統的痛點,以此吸引用戶與開發者,走出自己的道路。

推薦閱讀:

相关文章