3

为什么 TYPE_ORIENTATION 自 API 8.0 for Android 以来被弃用?日食中有一个十字架,但代码运行得很好。

4

3 回答 3

5

在关于传感器的 Google I/O 2012 会议上:http: //youtu.be/Q0V_ld7iNw4?t= 23m23s在 23 分 23 秒时谈到了弃用该功能,因为在平板电脑和智能手机等不同设备上,默认方向平板电脑是横向的,手机是纵向的。如果编码人员没有意识到这一点,它将导致他们的设备在这些环境中以不同的方式运行,或者当它旋转 45 度时。最好先使用 SensorManager.getOrientation() 获取设备的默认方向,然后相应地执行传感器计算。

于 2013-01-26T05:48:59.680 回答
0

因为平板电脑通常与过去的默认方向不同。(它是纵向的,这意味着按正常预期握住时屏幕比宽高。平板电脑意味着默认为屏幕宽比高。)

这意味着需要找到更好的机制,即android.view.Display.getOrientation().

有关详细信息,请参阅此博客文章

Deprecated意思是“这已经被更好的东西取代了。它现在仍然可以工作,但你应该寻找新的替代品,因为它将来可能会停止工作”,这解释了为什么代码对你来说“运行得很好”。它可能工作多年(或在下一个版本中停止工作),这就是您收到警告的原因。

于 2013-01-26T05:23:36.110 回答
0

折旧的代码仍然有效,但不能保证在未来的 API 上有效。它们被更有效地工作(并且也必须以这种方式运行)的代码贬值,无论是与其他代码还是整体。除非你真的需要使用它,否则你应该避免使用贬值的代码。

于 2013-01-26T05:14:38.493 回答