為了便于大家理解,文章中的“內(nèi)存”均指手機的機身內(nèi)存(即ROM,目前的機身內(nèi)存基本是32G起步),而不是運行內(nèi)存(RAM,大多數(shù)手機的RAM為3G/4G。)
微信小程序會占用內(nèi)存嗎?這個問題暫且一放,先來聊聊另一個話題,相信很多人收到過類似的消息:
這是一周君剛才在微信隨便一搜找到的一條聊天記錄,相信一些人不只收到過,還發(fā)送過。其中,一些朋友認(rèn)為刪除那些“多余”的好友能釋放手機內(nèi)存。
“又刪了20人,節(jié)約94M空間”
“今天被清了,你也清清吧”
對此,一周君只想,
好吧,什么也不想。
其實,微信好友數(shù)量和手機內(nèi)存空間并沒有關(guān)系,微信占用手機內(nèi)存空間,主要是聊天信息、微信朋友圈緩存文件等。也就是說,如果你看到手機內(nèi)存中,微信占用了大量的空間,那么不是好友數(shù)量太多,而是聊天信息太多了。
若真想清理垃圾空間。可以安裝第三方清理軟件或者使用微信自帶的清理功能。
小程序
下面進(jìn)入主題,微信現(xiàn)階段大力推廣的號稱“用完即走”的小程序,會不會占用內(nèi)存呢?
一周君對小程序的理解是,它好像一個網(wǎng)頁鏈接,要用的時候點開它,會跳轉(zhuǎn)到相應(yīng)的“網(wǎng)頁”,在瀏覽的時候會產(chǎn)生一些緩存,但其本身占用的內(nèi)存幾乎可以忽略。所以,一周君卸載了一些不常用的并且有自家對應(yīng)小程序的軟件,的確釋放了不少手機內(nèi)存。
查閱了相關(guān)資料,和一周君的想法差不多,小程序的確可以節(jié)省“下載空間”。
一周君親測了一下。為了排除其他用戶數(shù)據(jù)的干擾,一周君動用了自己不常用的一個微信號……最大程度確保微信占用的內(nèi)存來自小程序。
添加10個小程序占用了9M的內(nèi)存空間,相比于動輒每個十幾M的app,還是比較節(jié)省空間的。
微信團隊限制了小程序的體積: 只有 2 MB 以內(nèi)的小程序,才能提交到微信審核。(最初的限制是1M。)
雖然小程序自身占用的空間較小,但其在運行過程中也會產(chǎn)生緩存。進(jìn)而
那么小程序占用空間的本事有多大呢?
一周君使用了其中一個閱讀類小程序,翻看了十幾篇文章,然后查看微信占用的手機內(nèi)存情況,大家請看結(jié)果。
看來,使用小程序的過程中的確會產(chǎn)生緩存。
其實,也不用“OMG!”,騰訊在小程序開發(fā)的規(guī)范文檔中規(guī)定了一個小程序的數(shù)據(jù)緩存上限。
但根據(jù)實際的使用體驗。一個小程序產(chǎn)生的緩存好像不止10M,一周君最初認(rèn)為自己的測試不嚴(yán)謹(jǐn),換了其他的小程序,有的單次使用1分鐘產(chǎn)生的緩存還是超過10M,當(dāng)然,有的則在10M以內(nèi)。
對于這樣的問題,在一些問答平臺上提出了疑問,可惜沒人理……
寫此文之前,咨詢了一個做程序員工作的哥,得到的回答讓我有點失望。他的意思是盡管微信做出了規(guī)定,限制緩存的代碼也不麻煩,但總有開發(fā)者不按照規(guī)范來。我起初無法接受這樣的解釋,認(rèn)為微信方面會把好關(guān),但在翻看了小程序開發(fā)文檔的“運營”部分時,仔細(xì)查看了相關(guān)的審核標(biāo)準(zhǔn),并未找到對于“緩存”限制的審核項。
所以,一周君的理解是,對于開發(fā)中“緩存”這個問題,微信方面可能是“只立法而不執(zhí)法”。
對于小程序的緩存,微信自帶的清理和帶有“微信專清”的某清理軟件,均未能對其進(jìn)行清理,
查閱資料,可以通過刪除小程序釋放其緩存。這樣做會將對應(yīng)小程序的本體、本地數(shù)據(jù)以及權(quán)限偏好刪除,但不會刪除小程序服務(wù)器上的數(shù)據(jù)。
總結(jié)一下,小程序幾乎不占用“下載”空間,使用過程中會產(chǎn)生緩存進(jìn)而占用一定的空間,各種小程序的質(zhì)量很難保證。至于如何清理緩存,可以通過刪除小程序或者通過手機的應(yīng)用管理手動刪除。相信微信會給出更好的解決方案,期待第三方清理軟件能更新相關(guān)功能。
參考資料
《小程序會占用手機存儲空間嗎?| 小程序問答 #21》
http://www.sohu.com/a/159778644_603236
《實測,微信小程序占多少內(nèi)存?或許真沒你想象中那么小!》
http://www.360doc.com/content/17/0110/09/33862225_621458612.shtml
《小程序開發(fā)者手冊》
https://mp.weixin.qq.com/debug/wxadoc/product/reject.html#36-UI-規(guī)范