Till now I was using "Merged into code" for "Framework Linkage" in
Flex Builder. Now, I changed it to "Runtime shared library". On doing
a release build I got myapp.swf which is roughly 260 KB which was earlier
close to 350 KB. It also generated framework.swz and framework.swf.
But I copied only myapp.swf on my web site and not framework.swz.
Still the website works just fine. I also cleared the flash player cache
from here. It works just fine without the .swz file. So my questions are:
Is the framework.swz file actually used or does the flash player have
a copy of it beforehand. And is that copy not cleared by clearing cache of
flash player?
And, even after clearing the cache, I didn't see a request for framework.swz
in firebug. Why?
The framework.swz RSL is stored in a special Flash Player cache. It works cross-domain. You will definitely need the framework.swz file there for those that don't yet have the RSL in their cache. On Linux the cache is at: .adobe/Flash_Player/AssetCache
Also, if you are not already doing so, make sure you do a Export Release Build for your production app. That will reduce the size further.
Related
How to use RSL(Runtime shared library) in flex ?
how can decrease loading time of swf using rsl?
please give answer
The SDK default setting of the project is RSL.
check here Goto Project->Properties choose the Library path from the tab where you can see the framework linkage.
The thing is It is one of the way to reduce the size of the application and the library files are downloaded and saved to cache file in browsers. so when you run the application again, the library files are taken from the browser cache.so the loading makes faster than the first time.It continues until the cache is cleared from the browser. for more information refer here.
A problem that is waste my one hour
I am embedding swf in the flex application it works fine.
But when i embed one swf the compiler through an error
unable to resolve 'com/assets/swf/flash_ad.swf' for transcoding
Unable to transcode com/assets/swf/flash_ad.swf.
pls help me.
Actually that swf is compiled and published in older version of action script.
So when i de-compile the swf and generate my own swf with latest version of action script the problem is gone.
Anyway Thanks
Make sure your flex compiler is able to locate the swf first. Try refreshing your workspace, so compiler finds it.
Also ensure your swf is built correctly. Corrupted swf's wont get embedded.
Check if this helps: http://www.brightworks.com/flex_ability/?p=38
I have built a flex application which has a "main" project and it is assosciated with a few RSL's which are loaded and cached once i run my "main" application. The problem i am facing is that the newer versions of my RSL's are not being loaded as the cache holds the older version of my RSL and execxutes the same. Each time i have got to clear the cache to execute the new version of my RSL's, which is irritating. So, can anyone suggest me a solution to get the newly updated RSL's loaded and working..
Thanks,
BJ
That blog post has the answer - you need to clear your flash player cache in the flash player settings dialog.
Sometimes when I compile my flex app, I got this error
Unable to create source GeneratedAsset31_dataClass. WebCe line 25 1259045578886 1546
But after I cleaned the project, this error disappeared.
It's not a big problem but very annoying and I can not find any clue by search the internet.
Any suggestion?
Your compiled and "generated" .swf file may have been opened in another application while Flex Builder was trying to re-compile or inject code changes back into the .swf.
If that is the case, you can solve the problem and avoid the error by closing the applications that have opened the .swf file before you switch back to Flex Builder and start coding again.
Please note that if you are developing an AIR application you should close the AIR app, or if you are working on a web application close the stand alone flash player if you are testing your app that way.
Web browsers like Firefox, Internet Explorer or Safari are an exception because they don't lock open files and Flex Builder is able to re-compile even though your application is running in the browser, of course you will need to hit refresh in your browser to see any further changes.
I've been handed a Flex project that was originally built and compiled using Flex3 and CF7. My setup is Flex3 with CF8. Everything works fine when I initially pull the project over but as soon as I recompile, remote calls to the CFCs begin to fail. I used Charles Web Proxy debugger and discovered that the failure appears to begin with the flex2gateway. I double checked to make sure the flex2gateway is accessible and it's working fine on my CF8 install from both my project root and localhost. I also double checked to make sure that my project settings directed the Flex Compiler to reference my CF8 wwwroot for the services-config.xml. As far as I can tell, all of my settings are correct. So, needless to say, I'm at a complete loss. Has anyone else encountered this problem before?
Thanks,
--Anne
Actually no errors are getting thrown which is really weird. However, after some further testing and experimentation, I did find something rather interesting. I went ahead and created a new project where the bin-debug files were all output to the web root. When attempting to call a CFC with that setup, it worked fine which is kind of strange. As soon as I started to set it up in the same file structure as the project, it stopped connecting. The file structure of the project is as follows:
_flash
main
bin-debug
libs
src
com
Test
Test.cfc
index.cfm (this is the same as the html wrapper that's usually generated in bin-debug. We have it in the root so that we can pull either the release or debug versions depending on which server we're using at the time.)
Based on this, my thought is that for some reason it's not looking to the server root for com.Test.Test and is instead just looking within bin-debug. Does that make sense? What's maddening is the utter lack of errors.
--Anne
After toying with this for considerably longer than I ever should have, I've decided to use JSON for remoting instead. This is mainly because JSON makes it considerably easier to find out what's going on under the covers when debugging. Thanks for your help everyone.
--Anne