我正在开发一个包含大量类的大型 android 项目。到目前为止,我们正在使用 Android 3.2 进行编译并支持 Android 2.3。
现在我正在测试用 Android 5.1.1 编译,但仍然支持 Android 2.3。令我惊讶的是,现在很多代码都被弃用了......(getWith(), getDrawable(), setBackgroundDrawable(), HttpRequest, ActivityGroup
等......)。那些不推荐使用的函数不会给出编译错误,但会给出不推荐使用的警告。
我知道如果 SDK_INT 低于 XX,我可以复制代码并对不推荐使用的方法进行特殊调用,如果 SDK_INT 比 XX 新,我可以调用新方法,但这是一个巨大的补丁,需要大量重复代码大量的类和包中的函数,所以,如果可能的话,我们宁愿等到我们不需要支持最旧版本的 android。这意味着继续使用不推荐使用的方法,直到例如我们只需要从 4.4 提供支持,这意味着将需要更少的重复代码和函数。
问题是:如果我用 Android 5.1.1 编译但仍然使用那些已弃用的功能,这个庞大的项目将继续在所有设备上运行(从 2.3 到 5.1.1)?现在它正在使用 Android 3.2 进行编译。
我了解已弃用意味着它们可能会在平台的未来版本中被删除,因此您应该开始考虑在您的代码中替换它们的使用,但如果它仍然受支持并且没有给出编译错误,它将起作用直到现在。这就是我对弃用的理解。这是正确的?
谢谢。