安卓為什麼不做成蘋果的運行邏輯
1. iphone與安卓的運行機制有什麼區別為什麼ios系統那麼流暢andriod為什麼達不到ios
首先Android是在虛擬機中運行的 Jaca
Android 沒有 iOS 流暢的原因並非 Java GC 導致暫停,也不是因為 Android 運行的是 Java 編譯的 bytecode 而 iOS 運行的
native code,根本的原因是,iOS 的 UI 渲染採用實時優先順序,而 Android 的 UI
渲染遵循傳統電腦模式的主線程普通優先順序。
這聽起來似乎很抽象和難以理解,但大家可以嘗試一下,使用你的 iPad 或者
iPhone,打開 Safari,然後載入一個復雜的網頁,例如新浪網首頁,當網頁載入到一半的時候,把你的手指放在屏幕上,並且四處移動,你會發現所有的渲染立刻停止,在你拿開手指前,網頁永遠也不會繼續載入。
而在 Android 設備上重復這個操作,你會發現,瀏覽器會繼續嘗試載入頁面並渲染 HTML,試圖多任務同時進行,因此對於 Android來說,一個高效的雙核處理器是很重要的,這也就是 Galaxy S II 能夠非常平滑的原因。
在 iOS 中 UI 渲染過程具有絕對的優先等級,當用戶接觸到 iPhone 的觸摸屏後,iOS 中所有的進程都將停止,UI 線程攔截了所有的事件,系統會將所有資源用於渲染
UI 過程,以保證用戶界面的實時渲染優先順序。而在 Android 系統中 UI 渲染過程的優先順序別卻沒有那麼高,也就是說當你觸摸 Android 手機屏幕的時候,系統後台的程序並沒有停止,仍然在繼續運行之中,比如下載和查收簡訊,這樣系統 UI 獲得的資源就不夠,這就是 Android 系統不流暢的原因。
由於這個原因,新發布的 Galaxy Nexus,甚至配備四核處理器的話說 EeePadTransformer Prime 平板電腦都無法保證順滑的操作體驗,這些設備只能與 3 年前的 iPhone 順滑程度相比,那麼 Android 團隊為什麼不從根本解決這個問題呢?
除了 UI 渲染之外,Android 缺乏有效的的硬體加速也是一個原因,在不同的 Android 手機上的硬體加速存在巨大差異,而蘋果是唯一一個既做硬體又做軟體的手持設備公司,只有蘋果可以在硬體中插入對軟體的優化,使得基於蘋果晶元的設備不僅省電,而且流暢。
實際上,Android 的開發工作在第一代 iPhone 發布之前就已經開始了,原始 Android 原型體被設計成為使用鍵盤手機的設備,也就是黑莓手機的競爭對手。UI 渲染優先順序別在有鍵盤的手機上並沒有那麼重要。iPhone 發布之後,Android 小組為了快速推出能與 iPhone 競爭的產品,迅速將 Android 改成觸摸屏手機系統,但那時重寫 UI 框架已經不可能了。因為如果這樣 Android 應用市場中的所有程序將變得不可用,這種關系將一直處於惡性循環之中。
2. 安卓為什麼不能做到像 iOS 一樣流暢
一般來說,手機的流暢度是跟硬體成正比的。從2010至今,安卓手機硬體上都有了很大的飛躍,硬體不再成為制約流暢度的瓶頸了。單單以手機內存為例,一些安卓旗艦手機都已經4GB了,相比之下,iPhone 6才僅僅1GB內存。
那麼問題來了,蘋果手機在配置被安卓完爆的情況下,為什麼反而更流暢呢?
原因很多種,其中最重要的是後台機制的不同,試想如今的APP都是動輒幾十M的,而蘋果1GB內存不但夠用而且這么流暢,它的「偽後台」功不可沒。
一:偽後台與真後台的不同
既然有「偽後台」那必然也會有「真後台」,「真後台」就是當你打開一個APP後,它會一直在後台運行,除非你主動去關閉或者內存不夠用了。而且任何應用都可以同時進行,它們可以同時連接網路,GPS定位,推送消息等等,這樣的後台機制便是」真後台「,Android系統就是」真後台「。
而蘋果手機的iOS系統卻剛好相反,當你按下Home鍵回到桌面的時候,你之前運行的程序大多數都會凍結,你可以理解為從內存中寫入到ROM中。等到你再打開這個APP,iOS會重新載入的畫面,由於這個過程很快,所以你幾乎察覺不到它是在重新載入。
要想證明這一點很簡單,比如你用iPhone看視頻或者玩游戲,當你切出去的時候它們會自動暫停在那裡,視頻也不會再繼續緩沖,因為這個APP被凍結了。如果要想實現真後台,那隻能越獄了。
當你的手機返回桌面之後,iOS系統會分析判斷這些後台程序,你經常使用且有用的就保留,哪些是沒用就進行凍結,以保證內存最大功效的利用,繼而帶來系統的流暢感。這也就是為什麼iPhone雖然只有1GB內存,但卻足夠使用的原因。
二:「真偽後台」優缺點分析
偽後台的優勢:
內存利用率非常高,系統運行流暢,高效率的內存使用以及很多應用退到後台斷開網路連接等原因帶來的是耗電量的大幅度降低,手機的發熱量減少。這也就是為什麼iPhone 6電池容量僅1810mAh,續航卻很不錯的原因。
偽後台的劣勢:
除了當前在使用的程序或個別重要的程序是真正運行的,大部分隱藏在後台的程序都是靜止的,這也就是很多朋友稱為「墓碑式」後台,你在平常生活中可能感覺不到什麼,但有時候可能會延遲或者遺漏重要的消息通知。
真後台的優勢:
當系統在運行一個應用程序時,可以同時在後台處理多個任務,讓你在玩游戲,看書的同時,還可以緩存電影,緩沖網頁,更新軟體,地圖導航等等眾多任務同時進行,給用戶帶來極大的方便。
真後台的劣勢:
內存佔有率極高,後台運行的程序還會繼續聯網工作,處理器不得不一直進行極快的運算處理,從而帶來卡頓,手機電量消耗高,手機發熱等後果,這也是有些安卓手機掉電異常快的原因。
另外值得一提的是,「偽後台」與「單任務」不是一個概念。簡單來說,「單任務」指的是只能單獨運行一個任務,「偽後台」是一種後台機制,可以運行多個任務,但系統會自行限制後台APP的類型和數量。
3. 安卓手機為什麼不和蘋果一樣設置,安卓手機一直是運行幾個軟體,而蘋果只運行一個
那是因為它是ios,如果一樣,那就不叫ios啦。
4. 為什麼安卓手機不能像蘋果一樣掛好多程序都不卡
iOS系統
iOS的前身是Apple的OSX,也是基於UNIX系統開發的。而OSX已經有十多年的歷史了,從底層內核到軟體架構都是穩步發展過來的。iOS使用ObjectivC這個古老的語言來做開發。
Android已升級至5.0版本
而Android是Google基於Linux的,嚴格意義上講Android並不是一個Linux系統,它沒有Linux的xwin,沒有glibc,缺乏一整套標準的Linux程序。Android應用絕大部分都是使用JAVA開發,跑在Dalvik虛擬機上(一小部分使用NDK)。
簡單來說,就是iOS的執行效率更高,沒有一個中間層的過度,而Android則麻煩一些,基本上應用都要經過虛擬機,執行效率會有所降低,運行速度當然也會被損耗。那麼也就是說,假設兩款手機硬體配置相同,那麼iOS運行一個程序肯定是要比Android運行一個程序要快的。
也就是說,任何智能手機系統都是要建立在一個好的硬體基礎上的,即便是iOS也不能做到真正意義上的低配高能,這也是為什麼蘋果逐年都在升級自己的硬體配置。iOS好用是公認的,但它絕不是可以讓老手機成為萬年青的肥料。
5. 安卓系統,為什麼要用虛擬機運行程序,為什麼不能做到蘋果系統那麼流暢呢,謝謝了
因為安卓機有上千家廠商,硬體結構不一構,註定無法採用統一的機器碼,所以只能使用虛擬機來處理。
6. 我在想一個問題就是安卓怎麼就不能做到蘋果那麼流暢呢安卓是除了蘋果以外最好的操作系統嗎為什麼就做
安卓也很流暢啊,我的渣渣紅米2增強版就流暢到一逼。不流暢最大的原因是1g內存吧,然後是安卓版本和廠商的優化。還有非常重要一點: 動畫。換湯不換葯的MIUI 7換上5.0版本的動畫就明顯好看很多,給人感覺舒服多了
7. 安卓安卓的後台運行機制和渲染機制為什麼不能做到和蘋果的一樣
自身問題
8. 安卓為什麼不學蘋果制定統一標准
蘋果只有apple一家廠商,所以可以統一。
而安卓是靠著開源來贏取市場的,安卓廠家何其多,各廠家都是基於原版安卓來做定製化的。
谷歌官方可以統一標准,但也只有自己會遵守,第三方廠家(如華為三星等)卻不會遵守,因為他們都要做自己的定製化服務,比如自家雲存儲等等
所以看到官方已經推出Android8.0系統了,而國內許多廠家還是5.1,6.0
安卓想要統一標准,除非像蘋果一樣,閉源
9. 為什麼安卓做不出像蘋果一樣的應用軟體是因為經濟利益關系嗎
不是的,例如一個單機游戲,安卓系統有時間就一定破解的了,而蘋果則不太可能,因為蘋果系統很封閉,用戶除了一些基本的東西,什麼都修改不了
你想想,游戲破解了就意味著賺不到錢,應用開發者會在一個賺不到多少錢的平台(安卓)付出多少呢?
主要就是安卓系統開放了源代碼,,,用戶除了系統框架,幾乎什麼都可以改
10. 安卓系統為什麼不如蘋果系統
個人認為原因有:1、蘋果系統因為相對封閉,程序員需要在蘋果制定的規則裡面編程,自由度小,但相對的系統穩定性就好了;安卓系統自由度大,與之對應的系統穩定性就變差了;2、蘋果系統軟體性能優化比安卓系統做得好;3、蘋果系統的硬體相對單一,軟硬體兼容性問題沒有安卓系統多,也使蘋果系統穩定性比安卓好;4、蘋果延續了蘋果電腦時代優秀的圖形圖像處理性能;以上原因是蘋果手機用不如安卓手機強大的硬體製造出了使用體驗反而更好的手機,對應的價格也就更高了。不能單一的說安卓系統不如蘋果系統,你看軟體市場上蘋果的應用就沒有安卓的多。