我有一个应用程序,我想在尽可能多的 Android 手机上运行。我目前的解决方案是只用最新版本编译它,并在只在具有正确 Android 版本的设备上使用的部分中执行关键代码。在我开始使用 Android 2.2 之前,这一切都很好。现在在旧手机上运行该应用程序会出现错误。
所以我正在考虑使用反射,但这意味着我将针对 1.5 版进行编译。所以我的问题是我会受到任何不利影响吗?显然,为不同的版本编译会有所不同,正如我在错误中看到的那样。那么我是否会放弃 JIT 支持之类的东西?
如果你们能就此主题发表一些见解,那就太好了!提前致谢。
最佳答案
很抱歉,如果我告诉你一些显而易见的事情,但你确定你真的需要思考吗?
当您尝试实例化使用比安装在设备/模拟器上更高版本的 SDK 的类时,您将遇到运行时异常。
为避免这种情况,您需要在运行时检查 SDK 版本。 示例:
//check for multitouch support (Android 2.0+)
inputSystem = android.os.Build.VERSION.SDK_INT < 5 ? new InputSystem() : new MultitouchInputSystem();
关于android - 在 Android 中使用反射时,我会受到不利影响吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3806147/