我正在浏览Android documentation,我遇到了以下几行:
在极少数情况下,API的某些部分可能会被修改或 删除,虽然通常只需要这样的更改来确保API 稳健性和应用程序或系统安全性。
是否有此类移除public
API的示例?
对于我们所有人,开发人员来说,根据之前的历史记录来理解为什么要删除API以及可以在将来删除哪些内容,这将是一个有趣的见解。
答案 0 :(得分:2)
Apache HTTP客户端在API 22和removed in API 23中已弃用。在这种情况下,它们似乎只是从存根库中删除它,因此使用它的应用程序仍然可以在Android M上运行。您只能为Android M 编译它们。
Google还通过更改API的工作方式有效地删除了功能。这方面的一个例子是API 21中对ActivityManager#getRunningTasks(int)
的更改。该方法仍然存在,但它不再允许您发现正在运行的其他应用程序,这是许多开发人员使用它的原因。另一个例子是主线程上的网络活动如何开始在Android 3.0中抛出NetworkOnMainThreadException
。在这两个示例中,文档在开始执行之前很久就描述了API的预期用途。