【发布时间】:2018-06-13 16:25:59
【问题描述】:
我有几个类可以创建大量带有事件侦听器的按钮,这些事件侦听器会被创建和定位。我目前重新使用创建后的类实例来改善用户在单击按钮和出现列表之间的时间方面的体验。我希望在用户第一次创建实例时对其进行改进。
所以我现在在应用启动期间创建一个实例并存储以供以后使用。
看起来像这样:
_MenuView = new MenuView();
_MenuView.visible = false;
addChild(_MenuView);
removeChild(_MenuView);
_MenuView.visible = true;
这是一个好方法吗?
【问题讨论】:
-
基于意见的答案。不,这是完全错误的——但不是你想象的那样。您是否尝试测量创建所有这些按钮需要多长时间?还是第一次/第二次将它们添加到显示列表的影响?如果没有问题(最弱的设备配置没有滞后),尝试解决它可能会对您造成讨厌的把戏,将会出现问题。
-
我有 3 个类,在一般的 Android 设备上创建总共需要 4 秒,在较新的 iOS 设备上大约需要 2 秒,在核心 i7 电脑上几乎立即创建。所以我第一次在 Android 上创建的每个类的点击延迟大约为 1.3 秒。
-
您使用常规的 Flash 内容吗?我的意思是,而不是 Starling 或任何其他 Stage3D 框架。
-
渲染。使用常规 Flash 内容,您将永远无法获得任何不错的性能。 Flash 使用 CPU 进行渲染(即使您将某些发布选项设置为“GPU”——该选项在某些有限的情况下会有所帮助),而移动设备只是没有这么多的 CPU 能力。考虑将您的项目移植到 Starling - 让 Flash 在移动设备上流畅运行的唯一方法是实际使用其 GPU 来渲染内容。
-
是的,对于移动设备,所有内容都必须转换为位图。通常,位图在 GPU 上,其他一切都在 CPU 上。这是将常规影片剪辑转换为位图的示例代码:stackoverflow.com/questions/31775200/…
标签: actionscript-3 actionscript