为什么 Android API 级别 9 已过时?
Android 版本 2.3 - 2.3.2 (API 9) 被声明为已过时,并且根据 Android Market 统计,非常罕见(占市场用户的 0.5%)。
问题是: 为什么 API 9 被声明为过时,更重要的是,我有什么理由不应该使用它吗?我一直在使用 API 9,没有发现任何问题...我错过了什么吗?
如果没坏的话最好不要修,对吧?
编辑:
澄清: 如果我将应用程序的 API 从 9 更新到 10,会有什么好处?
我只能看到负面影响: 1% 的用户会突然发现该应用程序不再在他们的手机上运行。对于付费应用程序来说,情况更糟。或者我将被迫维护每个应用程序的两个版本。
Android version 2.3 - 2.3.2 (API 9) are declared as obsolete, and according to Android Market statistics, are very rare (0.5% of market users).
The question is:
Why is API 9 declared obsolete and more importantly, is there any reason why should I not use it? I've been using API 9 and see no problems with it... am I missing something?
Better not fix it if it's not broken, right?
EDIT:
Clarification:
If I would update my applications' API from 9 to 10, what would be the benefits?
I can only see negative effects:
1% of users will suddenly find out that the app doesn't work on their phones any longer. This is even worse with paid apps. Or that I'd be forced to maintain two versions of each app.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
查看 API 级别 的说明。 Gingerbread API (9) 已被 Gingerbread MR1 (10) 取代。您应该升级到此 API。
Have a look at the description of API levels. Gingerbread API (9) has been replaced by Gingerbread MR1 (10). You should upgrade to this API.
Android 操作系统的当前版本是 4.0(冰淇淋三明治)。 2.3/2.3.2 是很多版本之前的版本,很快就被 2.3.3 取代。 (api lvl 10),因此可以说“搁置”特定版本是非常合理的(随着时间的推移和更改/更新的引入)。
然而,Android 操作系统的一大优势是向后兼容性。虽然较旧的设备(2.3 之前)将无法运行您的应用程序,但以后的所有应用程序都可以。从技术上讲,运行旧操作系统没有问题,但错误修复/更改...等意味着您可能会无意中使用包含安全缺陷或其他问题的有错误的代码。
最好选择能够最有效地覆盖大部分目标市场的 API 版本。
例如,如果您想在较新的高性能手机上利用一些令人惊叹的新 OpenGL 功能,您不会希望在较旧的 API 级别上运行它,并且可能会引起愤怒的用户风暴,因为他们的手机没有 HP运行它!
然而,更简单的应用程序可能只在旧操作系统上运行就可以了(例如 Chuck Norris 随机事实生成器)。
The current version of the android OS is 4.0 (Ice Cream Sandwich). 2.3/2.3.2 is quite a few versions ago and was quickly replaced by 2.3.3. (api lvl 10), so it is very reasonable (as time progresses and changes / updates are introduced) to "shelve" a specific version so to speak.
However, the one strength in the android OS is backwards compatibility. While older devices (pre 2.3) will not be able to run your applications, all applications going forward will. There is technically no problem running the older OS's but bug fixes/changes...etc mean you may be inadvertently using buggy code that contains security flaws or other issues.
It's best to pick the API version that will reach the majority of your target market most effectively.
For example, if you wanted to take advantage of some screaming new OpenGL features on the newer higher powered phone you wouldn't want to run it an older API level and possibly create a storm of angry users because their phone doesn't have the HP to run it!
However a more simple application might be fine just running on an older OS (like the Chuck Norris random fact generator).
您应该始终尽可能使用最低的 API。很简单,因为您的 API 级别越低,您可以接触到的用户就越多。
因此,查看当前统计数据,您可以达到如果您将自己“愚弄”到 API 级别 7,则为 97.9%。
但是为什么 API 级别 9 已经过时了呢?人们无法确定,但很可能是因为它存在一些重大缺陷。
You should always go for the lowest possible API to use. Simply because the lower your API level is, the more users can you reach.
So looking at the current stats, you are able to reach 97.9% if you "dumb" yourself down to API level 7.
But why API level 9 is obsolete? One could not know for sure, but most likely because it had some major flaws.
Lvl9 已过时,因为如果您想开发 Gingerbread,您应该使用 2.3.3+(Lvl 10)。这是因为“旧姜饼”(9 级)存在一些重大问题。
The Lvl9 is obsolete because if you want to develop for Gingerbread you should use 2.3.3+ (Lvl 10). This is because the "old Gingerbread" (lvl 9) has some significant issues.
好吧,我真的认为你不应该担心操作系统本身。但许多 Droid 程序员,比如我自己,并没有在模拟器上测试 Gingerbread 版本。主要是因为它没有显示在 SDK 界面上(仅当您检查过时的过滤器时才会出现)。所以,我猜其他程序员也忽略了这个版本。这是我能想到的唯一问题。
Well, I don't really think you should be worry about the OS itself. But many Droid programers, like myself, are not testing Gingerbread version on emulators. Mostly, because it's not showing on the SDK interface (appears only when you check the obsolete filter). So, I guess that other programers are ignoring this version also. That's the only problem I can think.