In my case, I've found that deep familiarity with the core concepts is essential.
In other words, I know the algorithms, patterns, APIs etcetera fairly deeply. I would recommend making sure you know your core subject inside and out.
Then, when it comes to working on a new app or three, the only thing I have to remember are the business rules specific to that app, and any little implementation wrinkles.
This kind of in-depth knowledge can only really be got by study - not just reading, but doing too. I'm sure you've got pet projects that you work on yourself... Use them as learning opportunities to build on your core knowledge.
In some ways it's like driving... When you first learn to drive, you're constantly thinking about the mechanical actions of steering, changing gears and operating the controls. When you get in a different car, you will find it tricky and strange at first if you're an inexperienced driver.
However when you've been driving for a few years, the process of operating the car becomes second nature, and you can switch cars with little or no effort.
Good luck :)
ADDENDUM:
This part may be specific to me and the way I learn, but I find it much easier to grok an abstract concept if I can see a practical application for it. As an example, I'm currently looking into functional programming. I've just bought myself the "Expert F#" book and am planning to read it over the Xmas break.
However, currently, I can't see anything "better" about functional programming that I can't solve adequately in C# (even if it is a little more verbose).
This doesn't mean that there isn't anything "better" but I'm hoping that reading the book will give me some good practical applications of where F# would be more applicable than C#. I find C# more readable than F#, so that's one strike against it, but other than the obvious ease of parallelization with F# and functional programming, I'm currently slightly suspicious that it's just another flavour of the month 'fad' that will undoubtedly be useful in some small fields, but won't be the game changer that it's made out to be.
Still, that's just my initial impression, and is very likely to be incorrect. I'm hoping that a little study will prove otherwise.
Which brings me to my point: An open mind and a willingness to learn new and unfamiliar things (even when you can't see an immediate need) is an extremely helpful attribute.