OnSong runs on iOS devices that have both storage and system memory or RAM. If you're concerned about how much space OnSong takes up in storage, please read the How much space do I need for my OnSong library article. OnSong itself takes up about 50 MB of storage.
Memory is what iOS and the apps need to run. Information is loaded from storage into memory. While your device may have between 16 to 1024 gigabytes of storage (one gigabyte is a billion bytes), memory is much smaller. Most iPads have 1 gigabyte of memory. Newer "pro" models have 2 or 4 gigabytes of memory. Older iPad 2 models only have 512 megabytes.
While that doesn't seem like a lot, OnSong is fairly efficient in how it uses this limited resource while providing functions immediately to the end-user. You can keep an eye on OnSong's memory utilization in the Memory Utilization Heads Up Display which shows you how much memory is available to OnSong and how much it is using. You can learn more about this in the Heads Up Display Video Tutorial.
To understand what the memory utilization chart means, you should understand how iOS handles memory. Since iOS was designed for more hardware-limited mobile devices, it handles memory allocation for apps in an interesting way. The chart you see shows you what OnSong is currently using and how much memory is currently made available to it. If OnSong starts to use more memory and gets closer to that available mark, iOS will free up additional memory in the system, usually by closing down apps running in the background. Crashes occur due to “memory pressure” which means that an app is requesting more memory than can be allocated by the system. When viewing the chart in the heads-up display, the number on the left is what is being used and the number of the right is how much OnSong could use immediately. If this were a budget, that's how much you could spend. But if OnSong needs more memory, it can go back and ask for more.
This means that the available memory on the right can increase as the used memory on the left increases. The total amount of memory represented in the heads-up display is not absolute. This can continue as long as there's physical memory available. At that point, iOS tells OnSong to clean up anything it can to free up memory. OnSong runs as lean as possible so it might not be able to free up much memory, but it will do everything it can to keep the boat afloat. Often times crashes occur due to the document type being presented.
Generally, OnSong should use 50-200 megabytes of memory depending on the type of document you are viewing and how it was made. For instance, a single-page image-based PDF file that was scanned at 600 DPI in full color uses 100 MB of memory. Multiply that by the number of pages in the PDF file. This is because iOS needs to uncompress the image in the PDF into memory in order to display it. So if you scanned a page at 600 DPI in full color on 8.5x11” paper, that’s 5100x6600 pixels or 33 megapixels. If you scanned in color, you need at least 3 bytes per pixel, resulting in 100 megabytes of active memory to load and display one page. That doesn’t count other things OnSong needs to do of course. If you are running a newer iPad, this shouldn't be an issue, although you probably want to scan documents with much lower resolution and in greyscale if there is no color on the page. Dropping to 150 DPI in full color uses about 6 megabytes per page.
OnSong has a lot of features, but that doesn't mean it uses more memory. OnSong is designed to run as efficiently as possible, even on older hardware. If you are wanting OnSong to on older hardware and you are viewing file types that are using up memory, you can do something to make things run more efficiently. OnSong renders the song before and after the currently viewed song for smooth transitions. This can effectively triple the amount of memory OnSong is using for displaying documents. You can turn off this feature by tapping on the gear icon in the Menubar to open Utilities > Settings > Display Settings > Song Viewer > Renderer > Render Ahead/Behind and turn that to Off. This will result in the song being drawn once you navigate to it which won't look as smooth but will use less system memory and give a performance boost for older devices.