gpt4 book ai didi

android - 由于 Android GC 性能而改变编码风格,有多远是太远了?

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

我一直听说 Android 应用程序应该尽量限制创建的对象数量,以减少垃圾收集器的工作量。您可能不希望创建大量对象来跟踪有限的内存占用,这是有道理的,例如在传统的服务器应用程序上,在几秒钟内创建 100,000 个对象并非闻所未闻。

问题是我应该走多远?我已经看到大量依赖静态的 Android 应用程序示例,以便据称“加快速度”。将需要进行垃圾收集的实例数量从几十个增加到数百个真的会有那么大的不同吗?我可以想象改变我的编码风格,现在创建数十万个对象,就像您在成熟的 Java-EE 服务器上可能拥有的那样,但依靠一堆静态来(据说)减少要被垃圾收集的对象的数量似乎奇怪。

为了创建高性能 Android 应用,真正有必要改变您的编码风格有多少?

最佳答案

“避免分配”建议通常与游戏循环有关。 VM 必须暂停以收集垃圾,而您不希望在您的游戏以 30fps 设置动画时发生这种情况。如果您不分配任何对象,VM 将不需要收集垃圾来释放内存。如果您的游戏需要在没有用户可见问题的情况下运行,那么您应该考虑更改相关部分的代码以最小化或消除分配。

如果您正在制作一个保存食谱或显示照片的应用程序,我不会担心——用户可能不会注意到 GC 问题。

Dalvik GC 的 future 改进(例如分代收集)应该会减少这个问题。

关于android - 由于 Android GC 性能而改变编码风格,有多远是太远了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2594814/

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