代码之家  ›  专栏  ›  技术社区  ›  Pandoro

在Android中使用反射时,我会有缺点吗?

  •  1
  • Pandoro  · 技术社区  · 14 年前

    我有一个应用程序,我想在尽可能多的Android手机上运行。我目前的解决方案是只使用最新版本编译它,并在只有正确的Android版本的设备上使用的部分中执行关键代码。在我开始使用android2.2之前,它一直工作得很好。现在在旧手机上运行这个应用程序给了我一个错误。

    你们对这个话题的一些见解将是伟大的!提前谢谢。

    2 回复  |  直到 14 年前
        1
  •  1
  •   omermuhammed    14 年前

    使用Java反射来支持不同的SDK没有固有的缺点 here 它使用更易于维护的惰性类加载。我觉得这是处理不同SDK支持的一种更健壮的方法。

        2
  •  2
  •   cement    14 年前

    如果我告诉你一些显而易见的事情,我很抱歉,但是你确定你真的需要反思吗?

    当您尝试实例化使用SDK的更高版本的类(而不是安装在设备/仿真器上的版本)时,会出现运行时异常。

    为了避免这种情况,您需要在运行时检查SDK版本。

    //check for multitouch support (Android 2.0+) 
    inputSystem = android.os.Build.VERSION.SDK_INT < 5 ? new InputSystem() : new MultitouchInputSystem();