canmove, Confirmed users
640
edits
mNo edit summary |
No edit summary |
||
| Line 10: | Line 10: | ||
== Goals == | == Goals == | ||
"Fatfennec" is the alias for an ongoing project to have Fennec use fewer bytes. | |||
That means: | |||
* A smaller APK, which is faster to download, doesn't cause upgrade or install failures due to lack of storage (which helps our Growth and Ecosystem goals), and uses less space on disk. | |||
* Smaller runtime burden -- smaller and fewer databases, careful discarding of temporary files, etc. | |||
=== APK === | |||
Contributing factors: | |||
* Raw quantities of Java. We can reduce this via: | |||
** Conditional compilation for individual SDK versions. | |||
** Removal of antipatterns: {{bug|1039898}}, for example. | |||
** Additional optimizations in ProGuard (e.g., {{bug|1041866}}, {{bug|1041852}}, {{bug|1001713}}). | |||
* Raw quantities of JS. We can reduce this via: | |||
** Removing features that we don't use (e.g., Shumway). | |||
** Minifying: {{bug|1039902}}. | |||
** Not shipping JS source at all: {{bug|696095}}. | |||
* Assets. We ship: | |||
** > 7MB of fonts. | |||
** A few MB of images, some of which are at DPI levels that will never be used on a particular device. | |||
** More than 50 locales at 120KB each. Not all of these will be functional on every API version. | |||
=== Runtime === | |||
To follow. | |||