Flex4动态加载组件存在的问题

为了提高Spark组件性能,Adobe做了很多,但凡事均有利弊,性能提高的同时也带来了很多麻烦。
举例:
在一个Module中使用某个组件(比如input),会提示找不到input的外观,即找不到input的皮肤类inputSkin,出现这个问题就是由于Spark组件只编译使用的组件皮肤,动态创建的组件皮肤没有编译进去,这就是Spark遗留问题。
还有一种情况,在应用程序中没有使用input组件,而在skin中使用input,而skin是通过css动态加载,这样也会导致该问题。
解决这个问题有两个方法:
1.声明组件变量,编译到主应用程序中。动态创建的组件很多,所以这个方法并没有从根本上解决问题。
2.增加编译参数-keep-all-type-selectors=true(将所有样式均编译到swf中,即使程序中没有用到的也会编译。默认值为false,也就是说没用用到的信息将不会编译到swf中,这样就会提示之前提到的这个错误,但是也会导致文件变大。)


鱼和熊掌不可兼得

你可能感兴趣的:(Flex)