For standard vocabulary, I'd say reading is the best way to pick up many words. And with an audiobook, you will not only have the spelling and the meaning by context (in some cases) but also the correct pronunciation. For casual speech, slang, and idioms, urban or regionally set books are best, as well as, movies, music, television shows, and social media sites. I'm not really pro-flash cards, unless they're sentences. Learning random vocabulary out of context isn't ideal.