代码如:
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD)
ed.apply();
else ed.commit();
在 Froyo 中产生警告:
04-27 03:40:35.025: W/dalvikvm(3138): VFY: 无法解析接口方法 219: Landroid/content/SharedPreferences$Editor;.apply ()V
但我知道,在旧设备中,这将是一个 RuntimeError,它会中止应用程序(参见此处和此处)。
那么这种在 API 8(Froyo)及更高版本中有条件地调用新 API(方法)的方式是否安全,或者在某些情况下仍然需要延迟加载?
Dalvik 的哪些变化使这成为可能?
有关的