Как я нахожу естественный размер/размеры Flash файлом SWF?

instanceof, вероятно, будет более дорогостоящим, чем простое равняется в наиболее реальных внедрениях (то есть, те, где instanceof действительно необходим, и Вы не можете только решить его путем переопределения общепринятой методики, как каждый учебник новичка, а также Demian выше предлагают).

, Почему это? Поскольку, что, вероятно, собирается произойти, то, что у Вас есть несколько интерфейсов, которые обеспечивают некоторую функциональность (скажем, x интерфейсов, y и z), и некоторые объекты управлять, который может (или не) реализуют один из тех интерфейсов..., но не непосредственно. Скажите, например, я имею:

w расширяет x

, w

B реализаций А расширяется

, C расширяет B, y

D реализаций расширяет C, z

реализаций предположим, что я обрабатываю экземпляр D, объект d. Вычисления (d instanceof x) требуют для взятия d.getClass (), циклично выполняют через интерфейсы, которые это реализует, чтобы знать, является ли каждый == к x, и если не делают так снова рекурсивно для всех их предков... В нашем случае, если Вы делаете исследование в ширину того дерева, приводит по крайней мере к 8 сравнениям, предполагая y, и z ничего не расширяют...

сложность реального дерева вывода, вероятно, будет выше. В некоторых случаях JIT может оптимизировать большую часть из него далеко, если это может решить заранее d как являющийся, во всех возможных случаях, экземпляре чего-то, что расширяет x. Реалистично, однако, Вы собираетесь пройти тот обход дерева большую часть времени.

, Если бы это становится проблемой, я предложил бы использовать карту обработчика вместо этого, связав реальный класс объекта к закрытию, которое делает обработку. Это удаляет фазу обхода дерева в пользу прямого отображения. Однако остерегайтесь этого при установке обработчика для C.class мой объект d выше не будет распознан.

вот мои 2 цента, я надеюсь, что они помогают...

13
задан DisgruntledGoat 2 December 2009 в 15:10
поделиться

1 ответ

Прошлой ночью я думал, как это достать самому. Ничего не нашел в Google, но потом я вспомнил, что PHP getimagesize работает с SWF-фильмами:

<?php
    $file = "YOUR_FILE.swf";
    $info = getimagesize($file);
    $width = $info[0];
    $height = $info[1];
    print "{$width}x{$height}\n";
?>
23
ответ дан 1 December 2019 в 19:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: