gpt4 book ai didi

android - 对 Android 设备使用 configChanges ="orientation"有哪些优点和缺点?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:22:17 25 4
gpt4 key购买 nike

我想将 android:configChanges="orientation|keyboardHidden" 用于我的一些 Activity ,这样我的 onCreate 就不会再次被调用,但我想我会看看是否因为this link,任何人都会先列出利弊 list 。说它只能作为最后的手段使用。

最佳答案

谷歌并没有真正谈论其背后的原因,这很奇怪,但我确实可以想到避免使用该方法的三个主要原因:

  • 根据我的经验,某些 View 类型(尤其是 Android 2.1 或更低版本上的 WebView 和 MapView)如果未重新创建(例如,缩放按钮位置错误),在方向更改后可能会表现得很奇怪。
  • 它会阻止您使用特定于方向的布局(例如,请参阅新的 Market 应用程序的横向 View )。
  • 它可以防止您从应用程序中发现与您的 Activity 可能被销毁和重新创建的其他类型原因相关的错误行为(例如,内存不足或后台运行时的其他正常终止)。也就是说,如果您的 Activity 可以优雅地处理由于轮换而导致的重启,那么它可能可以处理由于后台终止而导致的重启。但是,如果您跳过处理轮换,在正常测试下您可能不会遇到由于后台终止而导致的重启,直到使用旧版低内存手机的用户写下错误报告为止。

最后一个原因很重要;特别是对于较旧的低 RAM 手机和 Gingerbread 中据称更具侵略性的自动杀伤行为,您的 Activity 需要知道如何在销毁后通过保存其状态来快速重建,而不管方向处理如何。一旦你的 Activity 可以处理这些类型的破坏/娱乐,你可能已经准备好轮换杀戮了。您可以通过吸收旋转事件来获得一些速度(因为您不必通过布局膨胀和所有这些返回),但仅此而已。

如果您确实决定接受旋转,我强烈建议始终使用模拟器或设备与 Development.apk选中“立即销毁 Activity ”选项,然后确保切换应用程序或返回任务堆栈仍然正常。

根据我的经验,吸收旋转实际上是改善用户体验的一个不错的选择,尤其是对于布局复杂的 Activity ,可能需要一些时间来重新创建,但您确实需要仔细有效地进行测试,以确保您的 Activity 仍然会即使没有旋转忽略也能工作。

关于android - 对 Android 设备使用 configChanges ="orientation"有哪些优点和缺点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4539329/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com