[25/10/02 更新] 在我的三星平板上, 自己可以安裝/刪除的軟體當中,
line 是腫脹軟體 (bloatware) 第一名。 那你的手機呢?
左邊的圖 (aasize-linear.png) 顯示我的三星平板上的一部分 apps。 橫軸是 app 佔用空間、 縱軸是資料佔用空間、 圈圈大小是 cache 佔用空間。 可以看到 line 的程式碼腫脹程度名列前矛; 而它的資料所佔用的空間 (8.6G) 不僅排名第一, 而且連第二名都看不到它的車尾燈! 即使是想像中應該佔用很大空間的離線地圖 osmand (0.6G) 含全球簡圖跟台灣全圖), 它的資料佔用空間跟 line 比起來竟然是羽量等級!
可是這種線性標尺 (linear scale) 會讓多數 apps 都擠在左下角, 不是很好閱讀。 改成右圖 (aasize.png, 拉近只看互動全圖的右上部分) 的對數標尺 (log scale) 看起來會比較清楚。 我用的許多自由軟體 (標示為綠色), 佔用的空間相對都比較小, 例如 mattermost 工作群組軟體、 mather 計算機、 QR code 掃描器 secscanqr、 jumpgo/lightning/midori 瀏覽器... 等等, 有很多進不了右圖。 請玩一下 互動版。 我把三套通訊軟體 line、 gmail、 SimpleX chat 用藍色標示出來。 至於 (支援 xmpp 協定的) 通訊自由軟體 cheogram 跟 conversations 甚至因為吃太少資源而沒有被 android 列入 dumpsys 指令的輸出! (下詳)
實作步驟:
- 請先確認你可以 用 adb 讓電腦跟手機或平板連線。
adb shell dumpsys diskstats > apps.txt
從 這裡 學來的。 Gemini 說: 活動量太小的 apps (例如我的 cheogram 跟 conversations) 不會被 dumpsys 列出來。python3 aasize.py < apps.txt > aasize.csv
因為我的程式碼拿全名的最後一段當成簡名 (Name), 又以全名的第一個欄位判斷是否為自由軟體, 所以這兩個欄位有很多地方需要修改, 例如 jp.naver.line.android 的 Name 應該是 line, 而 net.osmand.plus 的 Name 應該是 osmand、 ... 等等。 此時已經可以用 libreoffice 的試算表開啟 aasize.csv 來欣賞。 若要畫圖, 請繼續...- 下載 scatplot
- 把 aasize.json 及剛剛產生的 aasize.csv 放到 scatplot 的子目錄、 在瀏覽器裡輸入 "http://localhost/~ckhung/saas/scatplot/?c=aasize.json" 之類的網址, 即可查看。
很適合拿來把好幾個同類型軟體放在一起比較, 進一步挑出功能足夠、 輕薄短小的來取代手機中原先的腫脹 app。 最腫脹的 line 被我挑出來了; 可惜不能刪掉 :-(
聽說 LINE Lite 版可以解決腫脹問題,但功能也有減少。不知道您有沒有試過?
回覆刪除搜尋 LINE Lite 可以找到一些功能比較,可以先瞭解看看功能是否符合需求。