每種語言對都需要來源和目標模型在裝置上才能執行翻譯。模型下載一次,跨應用程式重新啟動持續存在,並複用於該對的每次翻譯。模型下載頁面列出所有 19 個支援的語言及其及其的下載狀態,並允許你下載或刪除每個語言。
為何需要專用頁面
ML Kit 不會自動下載模型 — 每種語言對都需要明確下載其的來源和目標。模型下載頁面顯示此狀態,並允許使用者管理它,而無需深入平台儲存。
對於大多數使用者來說,工作流程是透明的:選擇來源和目標語言,應用程式在你首次翻譯時按需求下載兩個兩個模型,並模型用於後續執行。專用頁面適用於想要預先下載以進行離線旅行的使用者、刪除不再使用的語言的使用者,或查看佔用儲存空間的使用者。
每種語言的模型狀態
- 未下載。 顯示「下載」按鈕。點選開始下載。
- 下載中。 顯示不確定的旋轉器。ML Kit 不公開進度回呼,僅公開完成;旋轉器解析為「已下載」或「失敗」。
- 已下載。 顯示帶有「刪除」按鈕的徽章。點選移除模型並回收儲存。
- 失敗。 重試按鈕取代「下載」。常見原因:無網路、蜂巢被阻止、磁碟空間不足。解決根本原因後重試。
順序下載佇列
快速連續的多個下載請求是排隊的,不是平行的。本機 iOS 插件不能乾淨地處理並行的 manageModel 呼叫:第二個請求會取消第一個。應用程式透過單一鏈式 Future 序列化下載,因此並行請求依序解析。UI 僅在不確定狀態下顯示作用中下載;排隊的請求等待輪到它們。
下載逾時和輪詢
如果下載回呼被錯過(在低網路條件下的 iOS 上觀察到),下載 Future 可能會掛起。應用程式使用 30 秒逾時來防止這種情況;如果逾時觸發,應用程式透過 isModelDownloaded 直接輪詢磁碟,以確認模型是否實際落地,然後再報告成功或失敗。
儲存成本
每個 ML Kit 模型在磁碟上大約 10–50 MB。下載所有 19 種語言消耗大約 300–600 MB。來源和目標的模型是分開的;一個模型可以根據使用者選擇的角色充當來源或目標。
刪除模型可回收空間。沒有自動清理。解除安裝應用程式會作為平台解除安裝的一部分刪除所有下載的模型。