2012-09-07 7 views
5

Bu benim anlayışımdı ve static final sabitlerinin Java kullanıldığında derleme zamanında satır içi olduğu belirtildi. Using the Version-Aware Component - Add the Switching Logic baktığımızda ve Build.VERSION.SDK_INT kullanımı ve bu iki sabitler değerleri derleme zamanında inlined eğer bu yaklaşım yararsız olacaktır olarak Build.VERSION_CODES beni karıştırırStatik son sabitlerin kontrol edilmesine ve inline edilmesine ilişkin Android sürümü

. Burada neyi özlüyorum?

Thanks :)

DÜZENLEME: does onlar soyut bir sınıf değişikliği statik yönteminde bu derleme zamanı inlining olan bir gerçek mi?

private final int CONST = 1; 

Eğer source code (eski bir sürümü ama pek değişmedi herhalde), sabitler bakmak kontrol edin: satır içi ne

cevap

3

gibi derleme sırasında tespit edilebilir sabitler vardır böyle:

private static String getString(String property) { 
    return SystemProperties.get(property, UNKNOWN); 
} 
:

public static final String SDK = getString("ro.build.version.sdk"); 

Ve bu getString yöntemdir

Yani sabit derleme zamanında belirlenemez.

+1

fantastik - özellikle de yukarıda belirttiğim dokümanlardaki bir ek tıklamayla kaynağı kontrol etmeliydim - üzgünüm! +1 – Dori

İlgili konular