android - 在 Android 中使用反射时,我会受到不利影响吗?

标签 android reflection

我有一个应用程序,我想在尽可能多的 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/

相关文章:

java - 面临从二进制文件获取 double 和 int 值的问题

android - 如何从 SQLite 数据库 Android Studio 获取所有表

ios - 如何检查(反射)属性是否是数组(任何类型)?

.net - Activator.CreateInstance <T>与新

scala - 使用 Scala 反射查找派生最多的运行时类型

java - 通过从注释属性获取的路径实例化对象

android - MPAndroidChart 条形图 y 轴标签颜色

java - 添加或删除数据时,房间数据库未正确更新 ID

android - 膨胀类 android.support.v7.widget.CardView、recyclerView 和 SwipeRefreshLayout 时出错

c# - 如何使用反射访问内部类