我知道探查者的问题可能很普遍,但在这里我有一个非常具体的问题和例子.
我知道在下面的代码中(取自Joshua的问题),无数个圆形对象实例被添加到hostComponent.这显然会导致应用程序逐渐放缓.
我的问题是,当我运行Flash Builder Profiler时,我究竟在哪里看到问题出在哪里?
要试用它,请创建一个新的Flex 4项目,并粘贴以下代码:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
initialize="onInit()" viewSourceURL="srcview/index.html">
<fx:Script>
<![CDATA[
import mx.core.UIComponent;
import mx.effects.Fade;
import spark.effects.Move;
private var hostComponent:UIComponent;
private function onInit():void{
hostComponent = new UIComponent();
hostComponent.id = "circleHostComponent";
}
/* Add circle UIComponent objects to the hostComponent.
Move and Fade the circle objects */
private function onTimerEvent(event:TimerEvent):void{
var yPos:Number = Math.ceil(Math.random()*100);
var radius:Number = Math.ceil(Math.random()*5); //1-12
var effectAlpha:Number = Math.random()*0.5 + 0.2 …Run Code Online (Sandbox Code Playgroud) 灵感来自问题int [] = {1,2,}; 奇怪的逗号允许.任何特殊原因?我记得有关Adobe的Actionscript语法的问题.
出于某种原因,可以(至少在Flex 3中)在声明变量之前为变量赋值:
public function foo() : void {
a = 3;
var a : int = 0;
}
Run Code Online (Sandbox Code Playgroud)
这有意义吗..?这是Adobe FlexBuilder编译器中的错误吗?或者这可能是因为旧款Ecmascript版本的遗留问题?
我正在创建一个新的Flex组件(Flex 3).我希望它有一个默认样式.是否有命名约定或我的.cs文件的某些内容使其成为默认样式?我错过了什么吗?
Flex Builder是否有任何开源(免费读取)替代方案?我不符合他们的学生弃权资格(伤心)
单独使用Adobe Flex Builder Pro,如何在构建期间过滤或排除项目源文件夹中的某些文件被复制到bin-debug文件夹中?Flex Builder基于Eclipse平台IDE,这可能是关于Eclipse的问题,因为它是Flex Builder.
我正在使用git来跟踪我在Flash Builder中开发的项目,我想知道跟踪它的最佳方法,特别是关于Flash Builder生成的文件,编译器生成的文件和源文件.必须弹性文件.
我把它设置为通过.gitignore忽略所有flash builder .project和debugging目录:
.actionScriptProperties
.flexProperties
.metadata
.project
.settings
bin-debug
Run Code Online (Sandbox Code Playgroud)
并通过.gitattributes将任何swf/swc文件视为二进制文件
*.swf -crlf -diff -merge
*.swc -crlf -diff -merge
Run Code Online (Sandbox Code Playgroud)
此设置的一个问题是检出此项目并从头开始在Flash Builder中使用它:
当您有一个没有.project文件的项目文件夹时,Flash Builder不喜欢它.将源导入Flash Builder的唯一方法是:
创建一个新的Flex应用程序
使用git clone扼杀它创建的模板文件(特别是APP_NAME.mxml).
我在哪里放图书馆?从git的角度来看,我想将它们放在repo的lib文件夹中,所以当有人克隆repo时,一切正常,但从本地文件系统的角度来看,我想将所有库存储在一个位置并使用Flash Builder引用它们,因为我可能会更新库或下载更高版本.也许我应该把库放在他们自己的repo中并加载它们作为git模块?这样我就不需要手动记住在使用它们的所有X项目中更新我的Y库文件,编辑:它们只会在我更新每个项目的子模块时更新.
外部swfs/flex模块怎么样?我现在一直在bin-debug文件夹中粘贴外部swf文件,所以SWFLoader类可以找到它们,但是因为我是.gitignoring bin-debug文件夹,它们在克隆时没有附带repo.
最后一个问题是在哪里保留服务器的文件.我是否将它们放在一个单独的仓库中?我正在使用带有AMFPHP的php VO,因此能够在Flash Builder中编辑php文件以及我的actionscript文件...但它们不属于项目src文件夹.
我正在使用的当前解决方案是:
在项目根目录中创建"服务器"文件夹
指向一个apache虚拟主机
将运行/调试设置设置为http://APP_NAME.localhost
然后在文件导出时使用服务器文件夹替换bin-debug
这个问题是我的服务器文件夹中存在大量编译器生成的文件和非AS源文件.它似乎不是一个优雅的解决方案.
如何设置git以顺利使用Flash Builder?可以通过多个git repos/Flash Builder项目或ANT脚本或其他东西解决所有这些问题吗?
谢谢.
我正在开发一个Adobe Flex应用程序,它可以加载大量Flex模块和其他Flash子应用程序以及Flash资源.每次成功加载flashlog.txt,Flex Console都会显示"解压后"[SWF] filename.swf - [filesize]字节之类的跟踪".
具体来说:
[SWF] Main.swf - 解压缩后的1,361,299字节
[SWF] core/Core.swf - 解压缩后的516,390字节
我不想禁用跟踪,因为我正在调试,但这些跟踪相当嘈杂.如何仅抑制[SWF]加载的跟踪?
我想自动构建一个flex库项目而不是当前进程,这涉及我们的一个开发人员在他的机器上编译它然后我们检查生成的.swc文件.这很糟糕.
我是从Java开发人员的角度来看这个,所以我很难掌握Flex Builder 3应用程序中提供的编译工具,但这就是我已经拥有的:
<mxmlc/>和执行<compc/>任务.我想要的是一个ant脚本,它将完成以下步骤:
到目前为止我有这个:
<target name="compile-component" depends="init">
<compc output="${DEPLOY_DIR}/${SWC_NAME}.swc">
<source-path path-element="${FLEX_HOME}/frameworks"/>
<source-path path-element="${SRC_DIR}"/>
</compc>
</target>
Run Code Online (Sandbox Code Playgroud)
但是,它不包括任何内容:
[compc] Loading configuration file /Applications/Adobe Flex Builder 3/sdks/3.2.0/frameworks/flex-config.xml
[compc] Adobe Compc (Flex Component Compiler)
[compc] Version 3.2.0 build 3958
[compc] Copyright (c) 2004-2007 Adobe Systems, Inc. All rights reserved.
[compc]
[compc] Error: nothing was specified to be included in the library
[compc]
[compc] Use 'compc -help' for information about using the command line.
Run Code Online (Sandbox Code Playgroud)
看起来我需要枚举我想要包含在库中的每个类,这是......荒谬的.肯定有更好的办法.我该怎么做呢?
我正在运行Flash Builder 4.6,只是将Apache flex sdk 4.9.1(build 1447119)添加到运行Moutain Lion的mac book pro中,当我尝试快速"hello world"并使用设计模式向舞台添加一些元素时我得到以下错误:
由于项目使用flex sdk的不兼容版本,因此禁用设计模式
我的问题是,如果我超越fb 4.6附带的默认sdk,我是否因此无法使用设计模式并且必须在源模式下执行所有操作?
此外,如果我使用Windows,当鼠标悬停在Design选项卡上时,错误非常相似
不支持设计模式 - 不兼容的SDK版本 - Apache Flex
谢谢
在我的公司,我们的Flex项目中存在构建中断问题.问题主要是因为开发人员在本地计算机上执行的构建与构建计算机上发生的构建根本不同.开发人员正在使用FlexBuilder/eclipse构建机器并且构建机器正在使用命令行编译器.不可避免地,{projectname}-config.xml运行构建的和/或批处理文件与eclipse使用的项目文件不同步,因此构建在dev的机器上成功,但在构建机器上失败.
我们开始编写实用程序以将FlexBuilder的项目文件转换为{projectname}-config.xml文件,但它是a)无证件和b)可怕的黑客.
我查看了-dump-config开关以获取配置文件,但这有几个问题:1)生成的配置文件具有绝对路径,这在我们的环境中不起作用(一些开发人员使用mac,一些窗口机器),2)仅在从IDE运行时才有效,因此无法构建到构建过程中.
明天,我们将讨论几个选项,这两个选项都不是我非常喜欢的:
a)向Subversion添加一个post-in-event事件以删除这些绝对引用,或者
b)添加一个删除绝对引用的预构建过程.
我无法相信我们是第一批遇到此问题的开发人员,但我无法在Google上找到任何好的解决方案.其他小组如何处理这个问题?
apache-flex ×10
flexbuilder ×10
flash ×3
flex3 ×2
actionscript ×1
adobe ×1
ant ×1
debugging ×1
eclipse ×1
flex4.6 ×1
git ×1
nant ×1
profiler ×1