在剛剛過(guò)去的這個(gè)雙11,想必許多朋友都加入了“買(mǎi)買(mǎi)買(mǎi)”的行列,但有一位得物用戶(hù)的購(gòu)物體驗(yàn)卻有些糟心。據(jù)這位消費(fèi)者在社交平臺(tái)發(fā)布的視頻顯示,他雙11期間在得物買(mǎi)了東西,但在發(fā)現(xiàn)有問(wèn)題向平臺(tái)反映、并上傳了視頻作為證據(jù)后,收到了華為手機(jī)的系統(tǒng)提示,檢測(cè)到“得物”APP刪除了相關(guān)視頻,并已成功攔截。
這一視頻所描述的事情其實(shí)非常簡(jiǎn)單,那就是得物方面或是在通過(guò)刪除視頻證據(jù)的方式,來(lái)解決售后問(wèn)題。而得物這一“店大欺客”的操作,自然也讓許多網(wǎng)友感同身受,因此也一石激起了千層浪。眼見(jiàn)著此事逐漸走向了失控的邊緣,得物方面在11月13日發(fā)布聲明稱(chēng),得物沒(méi)有動(dòng)力去做刪除用戶(hù)相冊(cè)內(nèi)容等不合規(guī)行為,也沒(méi)有批量識(shí)別和定向刪除用戶(hù)相冊(cè)的權(quán)限與能力。
隨后,得物方面就“華為手機(jī)提示得物APP刪除照片”一事再次發(fā)布說(shuō)明稱(chēng),得物從未刪除用戶(hù)手機(jī)相冊(cè)中的原視頻,而是為了避免占用用戶(hù)手機(jī)存儲(chǔ)空間、刪除的是臨時(shí)緩存文件。得物方面在這一說(shuō)明中明確,臨時(shí)緩存文件的清理主要為了不占用手機(jī)的存儲(chǔ)空間,并且在其從始至終的整個(gè)操作流程,用戶(hù)保存在手機(jī)中的原始視頻都不會(huì)受到任何影響。
除此之外,得物方面在這份說(shuō)明中也暗示,這一做法是行業(yè)通行方案。事實(shí)上,在“華為手機(jī)提示得物刪除照片”事件前,此前在2020年和2021年就曾分別發(fā)生了QQ刪除照片被華為EMUI攔截,以及vivo手機(jī)提示拼多多APP刪除相冊(cè)照片的案例,已經(jīng)證明了這確實(shí)并非孤例。而且不僅僅是得物,拼多多與騰訊方面早前給出的回應(yīng),同樣將問(wèn)題歸結(jié)于“緩存文件”。
從Android應(yīng)用開(kāi)發(fā)的角度來(lái)說(shuō),任何一款A(yù)PP只要在AndroidManifest.xml(Android應(yīng)用清單)中聲明
換而言之,目前APP想要進(jìn)行處理用戶(hù)存儲(chǔ)在手機(jī)中的數(shù)據(jù)這類(lèi)敏感操作,必然要獲得用戶(hù)的授權(quán)。并且事實(shí)也確如得物方面所言,是手機(jī)系統(tǒng)檢測(cè)到APP對(duì)緩存文件的處理、進(jìn)而觸發(fā)了攔截通知。然而這并不是整件事的全貌,得物的相關(guān)說(shuō)明實(shí)際上是避重就輕地撇清了自己的責(zé)任。
“緩存”無(wú)疑是提高手機(jī)性能的重要手段,由于手機(jī)中的主控、內(nèi)存、存儲(chǔ)等不同元器件的運(yùn)行速度不同,所以為了平衡各元器件的速度差異,Android系統(tǒng)設(shè)計(jì)了用于數(shù)據(jù)交換的緩沖區(qū)。而APP在運(yùn)行時(shí)產(chǎn)生的視頻、文字、圖片等數(shù)據(jù)就會(huì)放在緩存里,能夠大幅提升數(shù)據(jù)的響應(yīng)速度,當(dāng)用戶(hù)有需求的時(shí)候即可實(shí)現(xiàn)“秒開(kāi)”的效果。
當(dāng)然,由于Android手機(jī)的內(nèi)存(RAM)是有限的,目前主流Android旗艦機(jī)型通常也只有8GB至16GB的內(nèi)存,所以出于對(duì)內(nèi)存的高效利用,谷歌為Android設(shè)計(jì)了名為L(zhǎng)ow Memory Killer的內(nèi)存回收機(jī)制。其作用,就是當(dāng)系統(tǒng)發(fā)現(xiàn)內(nèi)存低于警戒線(xiàn)時(shí),可通過(guò)對(duì)進(jìn)程重要性的評(píng)估,來(lái)決定關(guān)閉哪些進(jìn)程釋放內(nèi)存、以確保系統(tǒng)的流暢度。
但除了Android本身外,APP也會(huì)對(duì)自己產(chǎn)生的緩存進(jìn)行處理。比如說(shuō),得物APP所采用的方案,就是用戶(hù)使用其編輯視頻時(shí),會(huì)將該視頻放進(jìn)緩存,待視頻上傳完畢后再刪除相關(guān)文件來(lái)釋放緩存空間。那么問(wèn)題就來(lái)了,這樣的策略既然是業(yè)內(nèi)通行做法,那按理來(lái)說(shuō)應(yīng)該會(huì)出現(xiàn)大范圍的誤報(bào),可為什么只有得物出現(xiàn)了被華為HarmonyOS攔截的情況呢?
答案可能只有一個(gè),那就是得物方面在APP開(kāi)發(fā)時(shí)并沒(méi)有遵守華為的相關(guān)規(guī)范。從正常的邏輯上來(lái)說(shuō),無(wú)論華為還是其他Android廠商,它們開(kāi)發(fā)的系統(tǒng)都只會(huì)管轄本身所提供的相冊(cè)目錄,而不會(huì)關(guān)注APP對(duì)私有文件目錄上的操作。通俗來(lái)說(shuō),就是手機(jī)廠商提供的操作系統(tǒng)只會(huì)管理“公共場(chǎng)景”,而對(duì)APP自己的內(nèi)部行為不會(huì)“長(zhǎng)臂管轄”。
而這一點(diǎn),在兩年前華為消費(fèi)者業(yè)務(wù)手機(jī)產(chǎn)品線(xiàn)副總裁李小龍回應(yīng)“華為手機(jī)提示攔截QQ刪除照片”時(shí),就體現(xiàn)的非常清晰。當(dāng)時(shí)他曾表示,“圖片視頻刪除保護(hù)功能,只要有第三方應(yīng)用刪除常用圖庫(kù)目錄下的照片或視頻,就會(huì)通知提醒用戶(hù),并能夠在圖庫(kù)回收站恢復(fù)剛刪除的內(nèi)容。如果第三方應(yīng)用不想讓緩存圖片被用戶(hù)在系統(tǒng)圖庫(kù)下看到,就應(yīng)該按照安卓規(guī)范在該緩存目錄下添加.nomedia屬性,這樣緩存圖片就不會(huì)被系統(tǒng)掃描到?!?/p>
沒(méi)錯(cuò),按照Android開(kāi)發(fā)規(guī)范,APP產(chǎn)生的臨時(shí)文件應(yīng)該被歸屬在APP文件夾下。并且有一個(gè)事實(shí)需要說(shuō)明,那就是Android系統(tǒng)本身其實(shí)是沒(méi)有所謂的“相冊(cè)”功能,大家看到的“相冊(cè)”其實(shí)是手機(jī)廠商利用系統(tǒng)服務(wù)MediaProvider(媒體存儲(chǔ)器)將存儲(chǔ)空間內(nèi)媒體文件搜集并整理的結(jié)果。
“.nomedia屬性”則是告訴MediaProvider,這個(gè)文件夾中不存在媒體文件,讓系統(tǒng)跳過(guò)掃描這個(gè)文件夾下的媒體文件。當(dāng)然,開(kāi)發(fā)者將APP產(chǎn)生的緩存文件放到系統(tǒng)的緩存目錄下,并將緩存清理工作完全交由系統(tǒng)來(lái)負(fù)責(zé)也是一種策略。
所以,得物方面就是避開(kāi)了兩個(gè)正確選項(xiàng),選擇了一個(gè)錯(cuò)誤的方向。其并沒(méi)有遵循相關(guān)開(kāi)發(fā)規(guī)范,既可能是沒(méi)有為多媒體緩存文件添加.nomedia屬性,進(jìn)而導(dǎo)致相關(guān)文件被系統(tǒng)掃描到;也有可能是直接在系統(tǒng)緩存目錄下,即APP私有目錄外、創(chuàng)建了屬于自己的緩存文件夾,卻選擇由APP進(jìn)行刪除操作。事實(shí)上,這兩種情況都會(huì)導(dǎo)致系統(tǒng)提示,APP嘗試刪除用戶(hù)相冊(cè)內(nèi)文件的提示。
因此在華為手機(jī)的HarmonyOS看來(lái),得物的這番操作顯然就相當(dāng)于是在“破壞公共設(shè)施”,因此需要向用戶(hù)報(bào)告這一行為。
歸根結(jié)底,之所以總是在Android生態(tài)內(nèi)出現(xiàn)類(lèi)似事件,Android的沙盒機(jī)制遠(yuǎn)遜于iOS是關(guān)鍵。當(dāng)每一個(gè)APP都只能對(duì)自己沙盒內(nèi)的數(shù)據(jù)進(jìn)行增刪改、對(duì)于沙盒外的數(shù)據(jù)無(wú)權(quán)過(guò)問(wèn)時(shí),自然用戶(hù)也就不再需要為APP刪除自己的照片、視頻而憂(yōu)心了。
谷歌應(yīng)用商店能用第三方支付了,但并非所有開(kāi)發(fā)者的勝利
Google Play開(kāi)放第三方支付,但或許并非你想的那樣。
聯(lián)系客服