2015-12-22 13 views
6

ben MeasureSpec ile karıştırmasını:Android, bir uygulamayı çalıştırmak için her zaman en yeni API'yi kullanıyor mu? Ben metnin bu biraz rastladım zaman

Not: API düzeyinde 17 ve önceki sistemlerde, makeMeasureSpec en uygulanması ya değerindeki argümanlar sırası önemli olmadığı böyle ve taşma oldu could Sonuçta çıkan MeasureSpec'i etkiler. RelativeLayout bu hatadan etkilendi. API düzeylerini 17'den büyük hedefleyen uygulamalar, sabit ve daha katı davranışı elde edecek. Ben API 14 için bir uygulama geliştirmenin ama bir API üzerinde çalıştırırsanız 22 cihaz hatayı düzeltecektir ya < API 17'nin hata hala 22 cihaz üzerinde olmayacaktır:

yüzden beni merak var mı?

+1

bunu deneyin. Biraz çaba göster. –

+0

Halen var ve daha deneyimli bir geliştiriciden de uyumluluk duymak istiyorum. Ayrıca, bunu doğrulayan belgeleri aradım ama bir tane bulamadım (en az bir sözdiziminde ve tanımladığımda). Dahası, bunun metayu takip eden bir düşüşü nasıl hak ettiğini göremiyorum. – Austi01101110

cevap

4

makeMeasureSpec (API 17 <) yönteminin uygulanması aşağıdaki:

public static int makeMeasureSpec(int size, int mode) { 
     if (sUseBrokenMakeMeasureSpec) { 
      return size + mode; 
     } else { 
      return (size & ~MODE_MASK) | (mode & MODE_MASK); 
     } 
    } 

Gördüğünüz gibi bu dönüş değeri sUseBrokenMakeMeasureSpec değerine bağlı mi View sınıfının yapıcı hangi value is assigned:

sUseBrokenMakeMeasureSpec = targetSdkVersion <= JELLY_BEAN_MR1; 

Bu nedenle, yalnızca uygulamanın hedefi davranışı belirler. Bu şekilde, daha yeni bir sistem eski davranışı ortadan kaldıran eski bir uygulama ile uyumluluğu koruyabilir.

+0

Ek: Bu yerel API (java api denir olanlar) için aynı olup olmadığını biliyor musunuz? Ayrıca, cevapladığınız için teşekkürler. – Austi01101110

+0

Teoride, hedef SDK yerel API'da da kontrol edilebilir, ancak daha fazla araştırma yapılmalıdır. – csenga

+1

bunu kontrol edin: http://stackoverflow.com/questions/11660575/how-to-know-which-api-level-im-building-for-using-ndk-build – csenga

İlgili konular