Loading an image file using [UIImage imageNamed:]
seems less processor intensive than calling drawRect
and its associated UIBezierPath
drawing methods for each UIView
.
drawRect
is also called whenever the view is required to update, so it may be called many times.
[UIImage imageNamed:]
on the other hand, caches images, which is another optimization.