關(guān)于微信、QQ 存儲(chǔ)目錄變更的一些思考

在 Android 上,在各類大廠應(yīng)用和一堆 SDK 聯(lián)合下,Android 的內(nèi)置存儲(chǔ)文件夾「日益增長」著。
與 iOS 的 沙盒機(jī)制 不同,Android 擁有更加開放、互通的模式,但這也帶來了非常嚴(yán)重的問題,比如各類第三方 SDK 爭(zhēng)先恐后的將各種用戶標(biāo)識(shí)文件(唯一用戶 ID)、實(shí)時(shí)緩存甚至應(yīng)用數(shù)據(jù)都往「內(nèi)置存儲(chǔ)」的根目錄下塞著,成百上千個(gè)文件夾便充斥著手機(jī)的內(nèi)置存儲(chǔ)。
微信、QQ 的改動(dòng)
2020.03.02 QQ 發(fā)布了「關(guān)于QQ文件本地存儲(chǔ)路徑變更的公告」,即 QQ 將其原先在內(nèi)置存儲(chǔ)中的文件夾統(tǒng)一遷移到 QQ 的應(yīng)用私有文件夾?/Android/data/com.tencent.mobileqq/
?下
微信則在 7.0.13.2 內(nèi)測(cè)版中,也像 QQ 一樣將其在內(nèi)置存儲(chǔ)中的文件遷移到微信的應(yīng)用私有文件夾?/Android/data/com.tencent.mm/
?下
個(gè)人對(duì)此改動(dòng)的看法
微信、QQ 的改動(dòng)雖然在一定程度上「遵循」了規(guī)范,且在改動(dòng)上為用戶帶來了不便,即查看微信、QQ 所保存的文件由原先的?/Tencent/
?變更為?/Android/data/應(yīng)用包名
?的對(duì)應(yīng)目錄下,大大降低了文件搜尋效率。而且在應(yīng)用寫在時(shí),所下載、接受的文件也會(huì)一并消失,這顯然是不對(duì)的。
完全遵守規(guī)范應(yīng)該將應(yīng)用所要存儲(chǔ)的文件、圖片、文檔、音樂等保存在對(duì)應(yīng)的「標(biāo)準(zhǔn)文件夾下」。依照用戶使用習(xí)慣,更好的做法是在「標(biāo)準(zhǔn)文件夾」下創(chuàng)建一個(gè)能識(shí)別對(duì)應(yīng)用名稱的文件夾,再將應(yīng)用文件保存在此目錄下。
微信、QQ 非常精明的避開了「完全遵循規(guī)范」,只是說明「根據(jù)規(guī)范」而作出改動(dòng),這種不完全遵守可不是什么好現(xiàn)象。。。不僅如此,這還容易讓對(duì)此感到不便的人把矛頭從應(yīng)用本身指向「規(guī)范」,實(shí)在是「高明」的話術(shù)啊。
該改動(dòng)的實(shí)際表現(xiàn)
將原先的文件夾原封不動(dòng)的移動(dòng)到應(yīng)用私有文件夾,且在私有文件夾下,原來的文件目錄、結(jié)構(gòu)完全不變,這就是 騰訊團(tuán)隊(duì) 所偷的懶,在應(yīng)用私有文件夾下,分明可以將日志、緩存等文件完全移動(dòng)至其私有文件夾下的?cache
?文件夾下,以便用戶或系統(tǒng)在存儲(chǔ)空間不足的情況下輕松釋放空間。
但是,在授予 QQ 存儲(chǔ)權(quán)限后,便原形畢露,在存儲(chǔ)空間里瘋狂「拉屎」。也就是說,對(duì)于 QQ 來說此改動(dòng)只是能讓你選擇拒絕存儲(chǔ)權(quán)限使用而已。
最嚴(yán)重的是,在 Android 11 DP 上(目前最新為 DP2.1),用戶無法通過「常規(guī)手段」訪問?/Android/
?目錄(包括 root shell),且對(duì)于目標(biāo) SDK 為 11 的應(yīng)用,/Android/
?便是真正的私有文件夾,應(yīng)用只能訪問屬于自己的那一份。
我對(duì)此的期望
真正難以抑制的是各類應(yīng)用瘋狂使用的第三方 SDK 所產(chǎn)生的文件,眾多應(yīng)用都接入一個(gè) SDK,那么那些應(yīng)用所產(chǎn)生文件,即使在你刪除后,也會(huì)迅速都重建,幾乎與無法刪除劃等號(hào)。
現(xiàn)在也有許多 SDK 濫用?/Android/
?文件夾,在這里面建立起用戶標(biāo)識(shí)文件、推送日志等「垃圾」。比如「友盟」便會(huì)在?/Android/data/.um/
、/Android/obj/.um/
?等目錄下建立用戶標(biāo)識(shí)文件,以便與跟蹤用戶。淘寶甚至還會(huì)在?/Android/data/pushSdk/
?下存儲(chǔ)推送日志文件。
希望各類應(yīng)用能將所接入 SDK 產(chǎn)生的文件重定向至私有文件夾,例如「MT 管理器」、「純純寫作」都將支付寶 SDK 所產(chǎn)生的文件重定向至應(yīng)用私有文件夾中,這不僅避免了內(nèi)置存儲(chǔ)的混亂,也讓第三方 SDK 功能能夠正常使用。最根本的應(yīng)該是第三方 SDK
Android 生態(tài)雖說在慢慢改善,但力度總是不夠大,鑒于 Android 的性質(zhì)以及它所涉及到的龐大領(lǐng)域,各種應(yīng)用不能有效的、及時(shí)的適配。也由于 Android 的開放性和非強(qiáng)制性,大廠們自覺的推行新規(guī)范是極其緩慢的,而不像隔壁 iOS 那樣的 App Store 強(qiáng)制審核那么激進(jìn),iOS 每代都有大改,卻因強(qiáng)制措施使得其應(yīng)用們「與時(shí)俱進(jìn)」。Android 在慢慢的收緊權(quán)限的管控、慢慢的規(guī)范應(yīng)用行為,這次期待 Android 11 的改變。
尾巴
這篇文章是一時(shí)興起寫的,僅僅寫些個(gè)人對(duì)這些東西的思考,寫的可能有所遺漏、不準(zhǔn)確。
原文鏈接:https://isteed.cc/posts/think-about-change-of-tencent/