最近,QQ偷偷刪圖片一事鬧得沸沸揚(yáng)揚(yáng),。有網(wǎng)友觀察到,,在EMUI手機(jī)ROM當(dāng)中,會(huì)提示QQ試圖刪除圖片,。
QQ會(huì)偷偷刪圖片,?只是一場誤會(huì)
但真相真的如此嗎?當(dāng)然不是,。騰訊和華為很快就進(jìn)行了回應(yīng),,表明QQ刪除的是緩存文件,并非是用戶手動(dòng)保存的圖片,,QQ并不會(huì)對(duì)特定圖片采取刪除措施,。而這個(gè)誤會(huì),是由于QQ未遵循安卓規(guī)范,、導(dǎo)致緩存圖片被誤判為普通圖片引起的,。

QQ官方回應(yīng),刪除的只是緩存圖片
實(shí)際上,,除了QQ外,,安卓APP不規(guī)范使用安卓存儲(chǔ)已經(jīng)司空見慣。我們經(jīng)??梢杂^察到安卓相冊(cè)中滿布莫名其妙的圖片,,或者安卓存儲(chǔ)目錄到處是亂七八糟的文件夾,。為什么會(huì)變成這樣子呢?今天就來說說安卓目錄的亂象吧。
安卓相冊(cè)為何亂糟糟,?QQ被誤會(huì)的根本原因
正如QQ刪除圖片引起的誤會(huì)一樣,,安卓存儲(chǔ)目錄的亂象也是由于APP的不規(guī)范行為引起的。先來說說安卓對(duì)圖片存儲(chǔ)方面的規(guī)范吧,。
安卓相冊(cè)之中,之所以會(huì)出現(xiàn)各類雜亂圖片,,是因?yàn)榘沧繒?huì)對(duì)存儲(chǔ)目錄進(jìn)行掃描,,并將掃描到的圖片們都在相冊(cè)當(dāng)中顯示。很多用戶認(rèn)為,,這個(gè)機(jī)制不盡合理,,因?yàn)閽呙枞P圖片會(huì)令A(yù)PP的緩存例如雜七雜八的、頭像廣告圖,,都被掃描到相冊(cè)中顯示,。然而,安卓其實(shí)早已經(jīng)想到了這點(diǎn),,相冊(cè)混亂的鍋安卓還真不該背,。
安卓相冊(cè)為什么經(jīng)常有亂七八糟的圖?
在安卓的規(guī)范當(dāng)中,,如果某個(gè)目錄的圖片不想被相冊(cè)掃描到,,可以在目錄當(dāng)中生成一個(gè).nomedia文件,標(biāo)明這個(gè)目錄中不存在媒體文件,,圖片就不會(huì)在相冊(cè)中被顯示出來,。然而,很多APP都沒有去做這一步,,這就導(dǎo)致安卓相冊(cè)被加了很多料,。
本次QQ被提示試圖刪除圖片,也是因?yàn)槿绱?。QQ并沒有在緩存圖片的文件夾中添加.nomedia,,這導(dǎo)致EMUI將QQ緩存圖片識(shí)別為普通圖片,QQ自動(dòng)清理緩存時(shí),,自然也會(huì)被EMUI提示有刪除圖片的行為,。
換言之,只要QQ按照安卓規(guī)范,,在緩存目錄中添加.nomedia文件,,就不會(huì)產(chǎn)生這個(gè)問題。
亂七八糟的安卓存儲(chǔ)目錄有救嗎,?
安卓混亂是不只有相冊(cè),,文件目錄也是一團(tuán)糟,。和iOS相比,安卓的一大便利之處在于更為開放的文件系統(tǒng),,用戶可以在安卓機(jī)的存儲(chǔ)目錄下隨意讀寫文件,。但是,這也帶來了問題,,不少人發(fā)現(xiàn),,安卓機(jī)用久了以后,存儲(chǔ)目錄下就會(huì)多出很多奇奇怪怪的文件夾,,這到底是哪來的,?

安卓存儲(chǔ)目錄各種雜亂的文件夾哪來的呢?
這些文件夾其實(shí)是由各類APP創(chuàng)建的,,不少APP會(huì)在安卓存儲(chǔ)目錄下生成自己要用到的目錄,。百花齊放下,安卓的存儲(chǔ)目錄變得越來越令人眼花繚亂,。
然而,,安卓并非對(duì)此坐視不理。實(shí)際上,,安卓也有APP建立存儲(chǔ)目錄的規(guī)范,,例如安卓系統(tǒng)規(guī)定APP如果要在內(nèi)部存儲(chǔ)空間建立文件夾,需要建立到/data/data/目錄下,,在外部存儲(chǔ)空間則需要建立在/sdcard/Android/data/目錄下,。APP在這些目錄創(chuàng)建文件夾有個(gè)好處,那就是當(dāng)APP卸載的時(shí)候,,相應(yīng)的文件夾也會(huì)被刪除,,而不會(huì)像現(xiàn)在那樣,APP卸載了,,它創(chuàng)建的亂七八糟的文件夾依然存在,,讓人煩不勝煩。
為什么安卓APP會(huì)不遵循規(guī)范呢,?這里面存在歷史遺留問題,。安卓機(jī)的內(nèi)部存儲(chǔ)目錄一度非常小,例如經(jīng)典的Milestone的ROM只有512M,,需要用SD卡擴(kuò)展存儲(chǔ)空間,,因此安卓APP往往會(huì)將文件保存在外部存儲(chǔ)目錄下(也就是sdcard目錄)。而安卓在4.3版本前并沒有提供外部存儲(chǔ)目錄的規(guī)范,,APP習(xí)慣在sdcard目錄中隨意建立自己的文件夾,,這個(gè)習(xí)慣一直保留到如今。
現(xiàn)在,,盡管安卓建立了sdcard目錄的存儲(chǔ)規(guī)范,,然而這一規(guī)范并非是強(qiáng)制性的,。很多APP由于使用第三方SDK等各種各樣的原因,視安卓的存儲(chǔ)目錄規(guī)范不見,,依然在sdcard目錄下自建文件夾,,安卓存儲(chǔ)目錄的混亂由此而來。
不過,,在新版的安卓系統(tǒng)中,,這個(gè)現(xiàn)象有望得到改觀。在安卓9和安卓10中,,安卓開始限制APP創(chuàng)建的文件夾,;到了安卓11,系統(tǒng)將不再允許APP在sdcard建目錄和文件,,APP只能夠往特定目錄的私人文件夾寫入數(shù)據(jù)。目前某些APP已經(jīng)開始為此做準(zhǔn)備,,例如新版QQ將存儲(chǔ)目錄從/sdcard/tencent/變更到了/sdcard/Android/data/com.tencent.mobileqq/Tencent/,,就是為了適應(yīng)安卓的存儲(chǔ)新機(jī)制。
總結(jié):
總的來說,,當(dāng)前安卓的存儲(chǔ)目錄依然是比較混亂的,,但隨著安卓11的發(fā)布,這個(gè)現(xiàn)象有望得到改善,。并不是所有的安卓機(jī)都能夠用上安卓11,,也希望各類APP盡快拋棄歷史包裹,規(guī)范自己的存儲(chǔ)目錄,,帶來更少的垃圾文件,,也避免“偷刪圖片”這類誤會(huì)發(fā)生。
(編輯:月兒)
