例如,我的活动类中有一种看起来像
的方法ViewTreeObserver observer = buttonsContainer.getViewTreeObserver();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
observer.removeOnGlobalLayoutListener(mButtonsObserverListener);
} else {
observer.removeGlobalOnLayoutListener(mButtonsObserverListener);
}
我可以抑制棉绒警告,但是在旧的Android 2.2上将执行该代码的何处会发生什么?在旧SDK中没有" remove gongloballayoutlistener"函数,该平台如何编译并运行?
它确实编译了,因为您的android:minSdkVersion
足够高。它也将安装在您的设备上。您的应用将继续运行,直到必须执行未知代码为止。您的应用程序现在只会崩溃。
为什么不在模拟器上尝试一下。
您的代码将抛出一个MethodNotFoundException
,您的应用将崩溃,或者 - 如果有一个 - 跳到周围的try
/catch
块。
(在Android 1.6上,当包含代码的类而不是执行内部代码时,将抛出ClassNotFoundException
)