Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 与AS3中的严格数据类型类相比,访问泛型对象是否糟糕?_Performance_Actionscript 3_Flash_Memory - Fatal编程技术网

Performance 与AS3中的严格数据类型类相比,访问泛型对象是否糟糕?

Performance 与AS3中的严格数据类型类相比,访问泛型对象是否糟糕?,performance,actionscript-3,flash,memory,Performance,Actionscript 3,Flash,Memory,我正在与一位朋友就通用对象与严格数据类型实例访问进行辩论 如果我有一个相当大的JSON文件要转换为Flash中的对象和数据数组,那么我是否最好将这些对象转换为每个对象专用的严格AS3类 根据对象的数量,是否会对性能造成重大损失 这背后的技术原因是什么?泛型对象是否比自定义类的严格数据类型实例在内存中留下更大的足迹?在泛型范围内很难回答这个问题,因为最终“一切都取决于”。它取决于您使用的对象的类型、您如何向程序的其余部分公开这些对象以及您对运行时环境的需求类型 一般来说,泛型对象是不好的,因为您不

我正在与一位朋友就通用对象严格数据类型实例访问进行辩论

如果我有一个相当大的JSON文件要转换为Flash中的对象和数据数组,那么我是否最好将这些对象转换为每个对象专用的严格AS3类

根据对象的数量,是否会对性能造成重大损失


这背后的技术原因是什么?泛型对象是否比自定义类的严格数据类型实例在内存中留下更大的足迹?

在泛型范围内很难回答这个问题,因为最终“一切都取决于”。它取决于您使用的对象的类型、您如何向程序的其余部分公开这些对象以及您对运行时环境的需求类型

一般来说,泛型对象是不好的,因为您不再具有“类型安全性”。 一般来说,将对象转换为类型化对象会迫使您留下更大的内存占用,因为您需要在运行时运行该类,并且还会迫使您“再次”将非类型化对象重新编译为其他类型的对象,从而导致一些额外的cpu周期

最后,如果您接收到的数据向系统的其他部分公开,通常最好将其转换为某种类型的类型化对象

将其转换为类型化对象,然后处理该对象,可以提高代码可读性并使代码更易于读取,因为您不必记住数据/键表是否使用“image”或“image”或“MapImage”作为访问器来检索某个对象的图像信息

此外,如果您更改后端系统以提供其他/重命名的密钥,则只需在一个位置执行更改,而不必分散在整个系统中


希望这个答案有帮助:)

您添加到解决方案中的每个类/代码行/字符都会用额外的信息“污染”应用程序(从而改善其大小和内存占用)。您接收到闪存中的每个对象都需要cpu和内存来创建。从allready创建的对象转换为另一个对象需要额外的内存和cpu周期。但是,除非您在一个非常非常受限的领域内工作,否则这不会是一个问题,因此“更易于阅读的代码”几乎总是首选。否则,您首先就不会使用ActionScript:)