bluemenco wrote:
一開始要很難買到還不簡單
就控制量就好
但想買zenfone的人要認清一個問題
app的相容性
千萬不要等一堆人拿到之後開始抱怨
那些app會有執行上的問題!!
如果有這考量的人
最好等大家拿到之後問題不多見再來考慮下手
傳說拔到獅子的鬃毛,掉落的頭髮就能長回來?
別再相信沒有根據的說法了!
CPU x86 架構關係到的是Android 的核心編譯
一般 app (Java + Android SDK 開發)關係到的是 Android 的SDK 版本
而Java編譯並非編譯成機械碼,而是ByteCode,在Java 虛擬機器運行
若擔心有相容性問題,也是Android系統本身,而不會是app!
Phil Chen
Phil Chen wrote:
傳說拔到獅子的鬃毛,掉落的頭髮就能長回來?
別再相信沒有根據的說法了!
CPU x86 架構關係到的是Android 的核心編譯
一般 app (Java + Android SDK 開發)關係到的是 Android 的SDK 版本
而Java編譯並非編譯成機械碼,而是ByteCode,在Java 虛擬機器運行
若擔心有相容性問題,也是Android系統本身,而不會是app!
...(恕刪)
會這樣說表示, 你的理解不過透徹
android app, 不是只會用到 bytecode
很多需要效能的 app , 會將需要效能的部份 compile 機械碼的
遇到這種 app, 如果是 intel 的cpu就需要 Binary Translation,
使用 Binary Translation是解決了相容性的問題, 但效能會變差, 這是採用 intel cpu 會遇到的問題
http://www.techbang.com/posts/13702-android-framework-arm-force-x86-challenges-efficiency-compatibility-range-of-fully-tested?page=2
以下引用, 上面連結文章中的部份
因為透過Dalvik虛擬機執行程式的效率不高,所以Google又額外提出了Android NDK,可以使用C或是C++撰寫,再轉成適合的機器碼執行,由於不用透過虛擬機轉譯,執行速度較快。不過轉譯為機器碼,需要為特定的CPU架構做轉換,因此轉換給ARM處理器執行的機器碼,一定與轉換給Intel Atom處理器的不同;加上ARM處理器是Android市場的主流,部分程式早已為ARM架構撰寫,無法在x86上執行。
根據Intel本身的調查,在Atom z2460去年推出時,Google Play裡大約有25%的應用程式是屬於這種類型,但如果跟消費者說:「很抱歉!Google Play裡的程式你們只能用75%喔。」絕大多數的消費者大概就是直接掉頭就走,看都不看Atom一眼。因此Intel在系統中放入Binary Translation,在程式執行時,直接將給ARM執行的機器碼轉換為x86能夠處理的機器碼,當然多了轉換執行效率會低落,但換來的是相容性提升。
Intel推算大約有90%專為ARM撰寫的程式能夠正常在Atom上執行,也就是說整個Google Play裡只剩下少部分的程式不能使用,且因為Intel已經和Google合作,未來撰寫的程式能夠編譯為Intel x86所能執行的機器碼,因此不能使用的程式比例會逐漸下滑,未來有一天Binary Translation可能會直接消失,就像現在很少人使用Windows 3.1、95、98的程式一樣。
內文搜尋

X