Skip to content Skip to sidebar Skip to footer

Is Checking Sdk_int Enough Or Is Lazy Loading Needed For Using Newer Android Apis ? Why?

Code such as : if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) ed.apply(); else ed.commit(); produces a warning in Froyo : 04-27 03:40

Solution 1:

produces a warning in Froyo

This is perfectly normal.

But I understand that in older devices this would be a RuntimeError which would abort the application

For Android 1.x, yes.

So is this way of conditionally calling new API (methods) safe in API 8 (Froyo) and above

Yes.

What changes on Dalvik made this possible ?

It no longer "fails fast" when encountering an unidentified symbol, but instead waits to try again to resolve it when the statement is executed. By checking SDK_INT and ensure that the statement is not executed, you don't crash.

Post a Comment for "Is Checking Sdk_int Enough Or Is Lazy Loading Needed For Using Newer Android Apis ? Why?"