Its on a case to case basis depending on what your doing.
In your situation, using the bucket tool directly on the image will fill every pixel in the image (solid or faint) with a solid color and will have those jagged edges. And will be slightly bigger than the original. Not to mention the bucket will fill whatever is within the tolerance level you had set to it. I've sure you had to use it more than once to fill the rest.....
There's no way to set lock layers to preserve transparency by default. Even if there was, you won't be able to do anything on the layer thus you have to unlock it and do so on every new layer or project image you work with. Talk about the needless hassle....
![Wink :wink: :wink:](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f609.png)
.
There are other ways you could have done this.....
If your working from scratch on an empty layer, say with just an empty elliptical selection, anti-alias is used or we add a feather to the ellipse edges to ensure the fill will be smooth.
Another option is to CTRL+click layer icon to select the image on the layer before applying whatever fill method you choose directly on the object layer or on a new layer.
Lastly. there's the FILL method. With the object layer active, select FILL and check the "Preserve Transparency" box in the Fill option callout. The effect is the same as to checking the preserve transparency of the object layer except that the property is applied to the function/tool and not the layer itself.
There's no "one way" to achieve what you want. Its a matter of choice, doing it correctly and dependent on the image or task at hand.
dv8_fx mentioned that "Not doing this, all pixels in the layer will have a solid fill." Correct me if I'm wrong but it seems like for the majority of projects you would want to preserve that smoothness right off the bat. Or is there something I'm missing?