【问题标题】:Android 2.1 vs 2.2安卓 2.1 与 2.2
【发布时间】:2011-08-17 20:04:34
【问题描述】:

我一年中的大部分时间都在为 Android 2.2+ 进行开发。但是当我查看维基百科上的“Android 设备列表”时,我看到了大量的 Android 2.1 设备。其中很多可能从未收到过 OTA 更新,有些是不久前发布的。我已经看到关于 Android 2.2 是最广泛使用的现成统计数据,但我不禁觉得我正在削减大量受众。

我发现 2.1 和 2.2 之间存在一些差异(例如 TabWidgets),但如果我只是将我的 SDK 降到 2.1,我应该注意哪些差异?

现在是否更不相关了,欢迎提出想法和经验,或链接到信息来源

【问题讨论】:

标签: android sdk version specifications


【解决方案1】:

与往常一样,这取决于您的应用程序的特定功能。我不想劝你不要支持 2.1。 我当然不是专家。但是您必须权衡要使您的应用程序可用于最后 20% 的市场需要做多少工作。

虽然我喜欢保持大量向后兼容性的想法,但我认为支持“当前和未来市场”比花费大量精力支持旧设备更有意义。当然,如果您的应用程序在较旧的 API 级别上运行良好,那就太好了,您显然应该这样设置它。谁知道呢,也许添加对 2.1 的支持会比我输入它花费的时间更少。 :)

您可以直接在Android Platform Versions website 上查看最新统计数据。

我认为更有趣的图表是显示“最近访问 Android Market 的 Android 设备数量”的第二张图表。 (当前内联在这里)。因此,如果您支持 2.2,那么您似乎支持了超过 75% 的市场(而且这个数字只会增长)。

另一件需要注意的是性能。除了features the pre-8 API doesn't support,旧设备有时只是没有新设备的性能。 (并非总是如此,因为有几十个设备。)我使用的一个测试设备不支持动态壁纸,不是因为 API,而是因为该设备没有足够的马力。

【讨论】:

  • 更新:我听说有根设备并不总是准确地向 Android Market 报告自己,所以运行 2.2 或 2.3 的有根设备可能仍然可以如果这就是它的原始 ROM 版本,那么将其作为原始 2.1 版本向市场报告。谁能证实这个谣言?这会将数字进一步转移到 2.2+ 阵营。
【解决方案2】:

我肯定会以 2.1 为目标,以获得最大的受众。 你必须注意的变化并不大,但如果你不抓住它们,肯定会坚持下去。

有几点:

  • showDialog(int) 在 2.l 中不能将 Bundle 作为参数。 2.2的调用是:showDialog(int, Bundle)
  • 您使用不同的函数访问 SD 卡(另请注意,2.1 和 2.2 中的 SD 卡路径不同)

我建议使用按版本过滤的android dev 的参考页面功能。这将使 2.1 的编码变得更加容易。

【讨论】:

    【解决方案3】:

    http://developer.android.com/sdk/android-2.2.html

    我个人认为你应该只使用你可以支持的最低值,而不会损坏你的功能、特性或用户体验。

    【讨论】:

    • 在 1.5 和 1.6 都有一些不值得浪费时间的讨厌的错误之后,是时候将任何低于 7 的东西 (developer.android.com/resources/dashboard/…) 降到了。
    • 我将我的 SDK 从 2.2 切换到 2.1 并得到一些相当随机的错误,不是功能,但如果我删除它们会改变用户体验。从现在开始坚持使用 2.2 及更高版本! :)
    猜你喜欢
    • 2011-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多