Memory and file size strategy

Jeanne A. E. DeVoto jeanne at runrev.com
Sun Oct 19 18:06:46 EDT 2003


At 2:43 PM -0700 10/19/03, Jim Hurley wrote:
>I have a project which has 5 components. Each of these components is 
>rather large.
>
>I want to keep the file size and the memory-use to a minimum.
>
>To keep the file size to a minimum, I presume I should use a one 
>main stack with 5 substacks.
>
>But won't the substacks be loaded into memory as the main stack is 
>opened? Is there a way for each of the substacks to be loaded into 
>memory only as called for? And each substack closed and removed from 
>memory (destroystack = true for each substack) when not in use?

A stack file is loaded into memory all at once - main stack plus any 
substacks - so this isn't an optimal strategy for reducing memory use.

If you move your substacks into separate stack files, though, they 
can be loaded "on demand", and when closed will be removed from 
memory (assuming their destroyStack and destroyWindow are true).


-------


There are some additional approaches you may want to look at, 
depending on the nature of the application:

- Keep media (pictures, movies, sounds) in separate files, using 
referenced images and players instead of imported images and audio- 
and video-clips. Referenced media doesn't need to be loaded into 
memory until you go to a card that the image or movie is used on.

For example, if you have a stack with many cards that has a large 
image on each card, you can save a lot of memory by keeping the 
images in external files and setting the filename property instead of 
importing them into the stack.

- Keep large hunks of text in separate files, reading them in only 
when necessary. For example, for a stack that includes a number of 
lengthy historical documents, you can store the documents' htmlText 
in separate files until the user calls for a specific document to be 
displayed.

- Consider using an external database to store large amounts of data 
that need to be searched and sorted.
-- 
Jeanne DeVoto ~ jeanne at runrev.com ~ http://www.runrev.com/
Runtime Revolution - User-Centric Development Tools
~~~ Check our web site for new Revolution editions & special offers ~~~


More information about the use-livecode mailing list