The preference files are read heavily at startup but aren't, as a whole, used regularly after that. When an object's preferences are used, we often use many of its settings in rapid succession as each relevant piece of information is read and used.
There's no reason to keep all that data in memory permanently. After 30 seconds of disuse for a given cache key (which for global preferences means for a given group and for object-specific preferences means all preferences for that object), we now remove it from our in-memory cache. It'll be re-read from disk when needed later.
git-svn-id: svn://svn.adiumx.com/adium/trunk@22176 1c916fce-81e2-0310-a464-8ca513f45935