阿波羅網論壇

 找回密碼
 注冊
搜索
熱搜: 活動 交友
查看: 16792|回復: 1

iPhone 為什麼不加大內存?

[復制鏈接]
發表於 2019-10-8 07:16:59 | 顯示全部樓層 |閱讀模式
iPhone 為什麼不加大內存?

作者:余以為,來源:知乎

   


    這實際上是一個技術問題,涉及到iOS與安卓兩個操作系統的設計原理。

    首先,安卓機上大內存,這是個中國特色,也就是說只有中國國內銷售的安卓機才會上這么大的內存,海外版的安卓機主流內存基本和蘋果差不了太多。圖我就不貼了,大家可以自己去查一下,華為的P30,海外版的128G硬盤的型號只配4G或6G內存,而中國版的P30,64G硬盤的型號卻配上了8G內存;海外版的安卓機,128G硬盤配4G內存比比皆是,簡直不要太多,但在國內,你幾乎找不到一款128G硬盤配4G內存的安卓機。這樣乍一看好像我們得了便宜,可其實,這是國產安卓生態的無奈之舉。

    先說國內安卓機為什麼上大內存吧。舉一個例子,比如我們常用的微信這個APP,首先你打開微信登錄賬號後,你手機上的微信APP就會和騰訊的服務器保持一個長久的連接,你發一條消息給你朋友,這條消息不是直接從你的手機上發到他的手機上的,而是你的手機將消息發給了騰訊的服務器,然後騰訊的服務器再發給你朋友。

    這個時候就有一個問題,如果你朋友手機上的微信APP處在關閉狀態下,那麼即使騰訊服務器把消息發過去了,他也收不到,因為他的手機上微信APP已經完全關閉了,已經和騰訊服務器斷開連接了,只有當他再次打開微信的時候,連接恢復,他才能收到那條信息。也就是說,想要及時收到消息,那麼微信這個APP就不能完全關閉,需要留下一些線程在後台一直保持運行,一直和騰訊的服務器保持接連,這樣一旦收到消息,系統才能及時啟動消息機制提醒你。

    所以,國內安卓系統下,每一個APP,都必須在後台(也就是內存里)留下一些線程隨時准備接收外來信息,也就是說你剛打開手機還啥都沒干,你手機上所有APP的一部分線程已經悄悄啟動,進駐內存,而這些後台啟動的線程是無法關閉的,因為是合法的,關閉的話用戶就無法及時收到消息。

    另外,不要小看這些後台線程的數量,一個APP在後台里留十幾二十MB確實不多,但100個APP(64G硬盤的手機就能裝100個APP)加起來就要吃掉將近2G的內存!

    因此,國內安卓機的內存容量必須跟着硬盤容量遞增,硬盤容量越大,能下的APP就越多,就越需要更大的內存來保證這些APP留在後台的線程正常運行。

    再說iOS,它為啥就不需要大內存呢?因為蘋果有自己的服務器。iOS的這個系統,必須搭配蘋果公司的服務器才能正常運行。每一台iOS設備在聯網的時候,iOS系統首先會和蘋果的服務器建立一個長連接。

    還是微信那個例子,在iOS上,如果微信處在打開狀態下,那麼邏輯還是和上述安卓的一樣,差距是體現在關閉微信後。如果你iPhone上的微信APP關閉了,會和騰訊的服務器斷開,而這個時候,你朋友發了一條消息給你,這條消息先發給了騰訊的服務器,這時騰訊服務器發現你手機上的微信APP沒有和服務器建立連接,那麼它會將這條消息轉頭發給蘋果的服務器,然後蘋果的服務器收到後會發送給你的iOS系統,系統收到就能及時做出提醒。

    這樣實際上是多了一個步驟,但帶來的好處是你手機上的微信APP可以完全關閉,不需要留下多餘的線程來接收消息,因為蘋果的服務器會一直保持接收消息,然後將消息發給手機系統,系統再做出提醒。

    這樣一來,蘋果手機的內存就不需要跟着硬盤容量一起遞增,因為即使APP完全關閉,也不影響及時接收消息。再加上iOS系統實際上不支持真正意義上的後台運行(僅持後台聽歌、下載、導航等有限幾個操作,如果一個APP進入後台,10分鍾內沒被換到前台來,那麼系統就會將它關閉,只留下臨死前的一個截圖,所謂的墓碑機制),所以蘋果手機的這些內存絕大部分時間內其實只為一個APP(當前這個)服務,一個APP使用4G內存,真的是綽綽有餘,有餘到多的不能再多了。

    插個題外話,都說蘋果手機安全,注重隱私,也有這個原因,蘋果手機上的APP,如果關閉了,那就是真的全部線程都關閉了;而安卓,由於每一個APP都必須在後台留一些線程一直運行,有的無良APP甚至手機廠商,就不僅僅會留下接收消息的線程,還會留下偷偷開啟攝像頭或者麥克風的線程,去收集用戶數據,而這些後台的的線程,由於是系統代碼層面的東西,用戶根本沒可能去關閉。

    最後,說一下海外版安卓機為什麼也不上這么大的內存,因為海外版安卓機可以使用谷歌的服務器(前段時間鬧的沸沸揚揚的安卓停止對華為授權事件,實際上就是谷歌不讓海外版華為連接谷歌的服務器了),而使用了谷歌的服務器,推送機制就變得和iOS一樣了,就不需要有APP自己的線程留在後台了,谷歌的服務器會幫APP們接收信息。

    國內安卓用戶想及時接收消息,開發者也只能使用常駐後台這個方法,而讓APP線程常駐在後台,需要大量的內存支持,那國內的安卓機就只好加大內存。那麼,誰來為這些多出來的內存買單呢?羊毛都出在羊身上,當然還是用戶,還是消費者。這就是我們國內安卓用戶的悲催之處,我們不僅要忍受隱私的泄露,還要為這樣的行為買單。

    目前,國內的APP駐留後台已經把國內的整個安卓生態搞的烏煙瘴氣、亂七八糟。其實好多大廠想過解決方案,比如小米推出自己的推送服務,華為也有自己的推送服務,但全都收效甚微。因為沒什麼開發者去配合他們,一來因為開發者適配的話需要一個廠一個廠去適配,提升了開發成本和維護成本,二來APP開發商也不願放棄常駐後台帶來的利益。

    目前比較值得期待的,是安卓推送聯盟,這個聯盟是由工信部牽頭的,運行機制和iOS的推送原理差不多,如果能全面鋪開,可以解決上述問題,但這一套現在還在測試階段,還是個美好的願望,日後能不能全面鋪開還是前途未卜。

    所以,蘋果不上大內存,真不是廚子摳門,因為沒必要了,國內安卓機12G內存都打不過蘋果4G內存,為什麼?因為12G內存里,很大一部分是留給國產APP常駐後台用的。


 樓主| 發表於 2019-10-8 07:23:53 | 顯示全部樓層
回帖:

就這德行,沒辦法!

硬件高配不一定提升性能,華為與蘋果有可比性么?

就這德行,沒辦法!多少明白點了---為什麼黑莓PASSPORT手機,能安裝微信,卻不能使用微信。除非帆牆並綁定非死不可,才能使用微信。

全球使用中的黑莓手機系統的通信服務器都在加拿大黑莓那裡,還有, 任何手機管家,來電管家,在接通來電(接聽)之前,都不能顯示來電歸屬地。

這樣啊?

微信就不說了,預裝軟件一大堆,這才是最麻煩的,刪都刪不掉。

哪個不是各懷鬼胎?百度不是?

原來任總全家使用蘋果,是這個原因啊。下次我也換蘋果

果奴應該堅持用果機,不管果機的硬件配置比國產機低幾倍,價格虛高了幾倍。

1、蘋果手機是專用手機,安卓手機是通用手機。蘋果的硬件都是依照ios量身定製的,所以不需要太大內存;2、iOS是單任務系統,安卓是多任務系統。

廣告還可以這樣做?

原來如此。

硬件高配不一定提升性能,華為與蘋果有可比性么?沒有可比性,蘋果要好得多

今天剛買了一台,說好用也好用,說不好用也不好用。

後台常駐從電腦開始,現在復制推廣到手機。

華x孟公主隨身攜帶 蘋果手機一部 蘋果平板一部 蘋果mac一部,自己產品不用全用蘋果的!除了好用之外估計安全因素也在裡面吧

廣告還可以這樣做?寧要挖孔或大額頭,不要小劉海!  

請教一下,華為,如果自力更生全部用國產元器件,一個進口部件都不用,能造出老人機不?

華x孟公主隨身攜帶 蘋果手機一部 蘋果平板一部 蘋果mac一部,自己產品不用全用蘋果的!除了好用之外估計安全因素也在裡面吧誰告訴你她不用自家產品的,她腳上戴的定位腳環就是華為的  

請教一下,華為,如果自力更生全部用國產元器件,一個進口部件都不用,能造出老人機不?直到彩色顯像管淘汰時,電子腔材料百分之90日本進口,自力更生只能回到黑白電視機時代。
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 注冊

本版積分規則

手機版|阿波羅網

GMT+8, 2019-11-13 17:30

快速回復 返回頂部 返回列表