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

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

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