我想要了解我为 GWT 进行的 DOM 操作所付出的性能代价。我想知道哪些操作是“昂贵的”,哪些不是,以及如何衡量它。我想知道如何分析这些操作,或者根本不值得关注这个问题。
更准确地说,这是我遇到的用例列表。
1)用例#1:如果发生某些事件,您有一个小部件会改变其外观。如果我要删除旧的小部件并创建一个新的小部件,或者更改现有小部件的样式会更好吗?换句话说,在 GWT 应用程序中创建和插入新小部件的价格是多少?是否有任何类型的垃圾收集器用于删除的 DOM 元素?
2)用例#2:您需要从/在服务器端获取或保存一些数据。数据可能非常大。创建一个特殊的 Servlet 以非常简化的方式进行此操作是否有任何意义:只接受或打印一些字符串而不是对标准 GWT servlet 进行 RPC 调用?这是提高性能的好方法吗?您自己编写的 Servlet 可以非常简单。
3)用例#3:你有一个小部件,它是一长串其他小部件。您如何估计哪些数量的小部件可以安全地显示客户端性能?我的意思是,如果我们在过去 5 年中显示 500 万条聊天消息,即使我们将部分加载项目,客户端可能会变慢,从而限制服务器端的压力。
4)用例#4:dom操作的性能价格如何,例如找出某个容器内的元素数量,或者找出元素的样式?例如,您需要计算聊天中的消息数量。这种计算聊天容器的 DOM 子节点的操作是否非常昂贵,以至于最好实现单独的计数器并在新消息到达时增加它(就像 Java 集合一样)?