Use event pages instead of background pages to save memory (see https://developer.chrome.com/extensions/event_pages)