今天聊一下iOS的訊息推送機制,這是iOS裝再多APP也不會卡的秘密之一,也是iPhone執行記憶體比較小的原因。
iPhone上的APP的訊息通知均由蘋果伺服器上推送,這個伺服器叫蘋果推送訊息伺服器簡稱APNS(Apple Push Notification Service )。當APP有新的通知時,會先通知到蘋果訊息伺服器,該伺服器再通知iPhone,即使APP退出也不影響訊息的接收。比如iPhoneh上的“微信”APP即使退出 ,當有新訊息時照樣能及時收到。
很多人說iPhone的微信APP收到訊息後開啟APP,需要轉圈才能收到完整資訊,那是因為“微信”APP退出了,再次開啟時需要重新連線一次伺服器。同時由於蘋果推送訊息伺服器的存在,即使裝了上千APP依然不卡的重要原因之一,也是iPhone的執行記憶體小的原因。目前iPhone 13 Pro Max的執行記憶體為6GB,華為mate40 pro的執行記憶體為8GB,而新發布的小米12pro的執行記憶體達到了12GB。
由於谷歌無法在國內搭建推送訊息伺服器(注:原因自行搜尋),故安卓版的微信必須有部分程序始終執行才能保證及時收到新訊息,這也是安卓版微信收到訊息開啟很快的原因。如果個別APP不講武德讓大量程序偷偷執行甚至互相喚醒(即一個APP活動後只從偷偷讓其它APP也活動)就可能造成手機執行速度變慢;另外裝了大量的APP也容易讓手機變慢。目前安卓手機的解決方式主要是兩個方式:1.增加執行記憶體(效果最明顯);2.規範APP(靠自覺)。
順便說一下國外完整版的安卓系統是有GMS(英語:Google Mobile Services)即谷歌移動伺服器,可以實現訊息的推送服務,國內安卓是閹割掉了GMS。
iOS篇的推送訊息機制就先說到這了。