What is the best way to revise?

I’m starting to think that I’ve never learned how to study.

I learn best by doing, so I’ve been working a lot of problems. But, even if I do well on the item sets, I seem to completely forget the material 2-3 weeks later. Really, I’m just awful at memorizing information unless I’m applying the knowledge repeatedly. How do I most efficiently learn the material so that it sticks? Do I carry around flashcards? Just keep doing problems?