Blank 2.2 KB sized PNG costs 2.1 MB in Unity? What does this represent? What to do?

I am starting to work on optimization for my app. I need to understand the information Unity displays about file sizes. For example, just to prove a point, here is a 2.2 KB completely blank PNG which in Unity when set to use as a UI image (for UI Toolkit) registers as 2.1 MB:


What does that represent? I have heard it is the size in RAM this will take while this image is in use. Is that correct?

I think Unity applies its own compression on these images during build. But does it mean this empty graphic would use 2.1 MB RAM during runtime if displayed?

I am building for mobile so it is important for me to get system resource use as low as possible. These sizes seem not to depend on the content of the image but rather just the pixel size (height and width) so I suspect the best principle is to make all files for this usage as small physically as possible using Sprite/splicing instead to fill space.

Thoughts? Thanks.

Unity converts the image to a format suitable for realtime use. Dealing with the compression of png or other formats would be far too slow. The pixel dimensions of the texture determine the size. There are compressed options, but the quality hit varies, certainly more than png style compression. Most realtime compression also relies on power-of two sizes (1024, 2048, etc.), so your image would have a problem with compression.