Developer news, mostly.
Too many extensions = too much system memory used by Chrome. Solution? put Chrome extensions on a diet.
There are many extensions that run in the background even when they are not being used. They are simply waiting for user input. What if we make it this way, run extensions only when user needs them?
Chrome team says the solution is ready for you to test and mod your extensions. You can try this out on the Dev channel from today.
Event pages are an evolution of background pages, with one major improvement: rather than running in the background all the time, an event page only runs when it is handling events. Once an event page becomes idle, it is unloaded, freeing memory until the next time it’s needed. Learn more from the event page documentation.
To help event pages support some important use cases, we’re also developing a few new APIs.
- The alarms API allows an extension to wake itself up at set times, to support features like periodically syncing data to the cloud.
- Some new events let extensions know when they have been installed, or when their event page is being unloaded.
- A declarative version of the webRequest API lets extensions do network interception without the need for a background page at all.
Try it Out
We plan to release event pages to Chrome’s beta and stable channels late this summer, but you can start experimenting with them on the developer channel today. Try converting your overweight extension to event pages, and let us know how it works.
The Dev channel is ready for developers to try this new feature and put their extensions on diet. If everything goes according to plan, we will soon see this feature in the stable channel and extensions making use of it. That will free up some more memory on our computers.
Chromebook users also should see a good performance improvement when this comes in to picture. The memory made available by reducing usage by extensions will make Chrome OS run better on Chromebooks, making use of additional memory available for the operating system.