actionscript-3 - 在可滚动窗口中显示大量聊天日志或控制台日志的最佳实践是什么? (AS3)

标签 actionscript-3 chat display

我正在编写一个图形控制台,它突出显示不同的条目并在您输入它们时存储它们(在 AS3 中),但我发现一旦有数千个条目,程序就会开始滞后并且滚动很慢。如果我想要以加速方式滚动动画,它会变得更慢。

如何上下移 Action 为我存储的条目的巨大对象 block ? 我是否必须在用户正在查看的地方逐步加载消息?那么滚动条如何处理这个问题呢?

最佳答案

您应该创建一个自定义容器而不是TextField,构建加速滚动也会更容易,

  • 每个日志条目都是一个扩展的 DisplayObject,它包含您想要的任何内容,就像 Android 中的膨胀布局一样。

最重要的部分应该是减少内存使用:

  • 您只能将日志输入的纯文本存储在全局数组之类的内容中,并且当滚动位置足够接近时,生成此布局,然后将它们添加到容器中进行显示,反之亦然,以删除远远落后的聊天。 但是这个过程在运行时仍然使用大量内存。
  • 所以,根据android的DiskLruCache的概念,可以将我们不可见的数据的一部分存储到磁盘上,而这些数据离我们的滚动位置太远了内存,使用 SharedObject's

关于actionscript-3 - 在可滚动窗口中显示大量聊天日志或控制台日志的最佳实践是什么? (AS3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40596778/

相关文章:

flash - Flash中如何获取对象的宽高?

actionscript-3 - 实例化对象时省略括号有什么区别吗?

api - 将聊天机器人集成到任何第三方消息 API 中

c# - 实现 asp.net mvc 聊天全双工

javascript - 如何在JS中向网页发送控制台命令?

multithreading - adobe 空气 AS3 :How to run a function in workers_ Multithreading (by Workers)

actionscript-3 - 如何在 Flex 中对 ArrayCollection 进行排序

php - 如何显示多张图片上传中的多张图片

java - 通过 JPanel 获取 .gif 显示?

禁用按钮时 Java Swing 显示故障