New first run images increase APK size

NEW
Unassigned

Status

()

3 years ago
2 years ago

People

(Reporter: Margaret, Unassigned)

Tracking

(Blocks: 1 bug)

unspecified
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(fennec+)

Details

Attachments

(1 attachment)

(Reporter)

Description

3 years ago
mfinkle used pngquant to reduce the size of the new images added in bug 1238780, but is there anything else we can do to make this less of a problem?

I'm also worried about this becoming more of a problem as we add even more tests and market-specific slides to our onboarding flow.
I was thinking about cropping the images to remove any unneeded margins/padding. We can use a layout with a background color and position the images in the center.
(Reporter)

Updated

3 years ago
tracking-fennec: --- → ?
(Reporter)

Comment 2

3 years ago
We talked about this in the Android meeting today. We also brought up the idea of using svg instead of png images.
Anthony, if you already have the images, could you upload a set with svg instead of png? Also, I thought there might be extra horizontal padding on the images, but I'm not sure. If there are, we could also remove that - the code centers the images in both axes so we don't need it.

It looks like 21+ (Lollipop and beyond) allows using svgs without any extra libraries, but we may need to use an svg library for GB and 14-20.
Flags: needinfo?(alam)
Created attachment 8712926 [details]
SVG.zip

Here are some SVGs to play with. As we talked about, they have padding though since the images are not all centered if I don't include it.

I can remove them too if you'd like
Flags: needinfo?(alam)
(Reporter)

Updated

3 years ago
tracking-fennec: ? → 46+
(Reporter)

Comment 5

3 years ago
Are we doing anything to address this for 46?
Flags: needinfo?(liuche)
(Reporter)

Comment 6

3 years ago
Pinging this bug again... at this point, I think we're just going to eat this cost for 46, but we should explore using SVG for the future, since we're planning to continue to add images to this first run experience.
Version 23.2 of the support library added backward-compatible support for vector drawables:
http://android-developers.blogspot.de/2016/02/android-support-library-232.html

However it seems to be a bit more complicated than just dropping SVGs.
(Reporter)

Comment 8

3 years ago
Short answer is, no, there's nothing to do here for 46. But we should come up with a solution here to help reduce our APK size.
tracking-fennec: 46+ → +

Updated

3 years ago
Blocks: 942609
Flags: needinfo?(liuche)

Comment 9

2 years ago
(In reply to Sebastian Kaspari (:sebastian) from comment #7)
> Version 23.2 of the support library added backward-compatible support for
> vector drawables:
> http://android-developers.blogspot.de/2016/02/android-support-library-232.
> html
> 
> However it seems to be a bit more complicated than just dropping SVGs.

We now have VectorDrawable support... but Google recommend only using that for images up to 200 x 200dp because of the performance impact of rendering large vector images. I have however filed Bug 1314328 to investigate converting these images to webp for at least some size reduction.

( Search for "200 x 200" in https://developer.android.com/studio/write/vector-asset-studio.html )

To be fair, I haven't measured the performance impact of rendering large SVG images, but it doesn't seem like a good idea to have slowly rendered images the very first time a user interacts with Fennec.
You need to log in before you can comment on or make changes to this bug.