I created a watch face with 9 full-size (454x454) PNG files that I was tinting and/or rotating. I load the bitmap resource in onLayout() into variables defined to the class, and then I draw them with tint/rotation in onUpdate(). Everything worked great on the simulator, but as soon as I loaded it onto my Venu 3, the watch face crashed on about the fourth or fifth drawBitmap2 with a System Error, Failed invoking <Symbol>. I could shift my code around and get it to fail on different drawBitmap2 calls, so it wasn't any specific bitmap resource, tint, or rotation that was causing it. It's like it just couldn't handle the number of tints / rotations I was attempting.
I was using full size image files for watch hands to make the placement and rotation operations a lot easier. But since it seemed like I was running into some kind of resource or processing limitation, I bit the bullet and scaled them all down to the bare minimum sizes, and did all the math to line everything up correctly. It's a much more efficient solution now, and it runs successfully on the watch, which is the important thing. But it left me curious as to just why it was failing in the first place.
I have far more complex watch faces, with lots of bitmap resources, interpolated line charts, and loads of semi-transparent polygons, and none of them have ever had an issue. But this is my first time using AffineTransform(), so maybe I'm doing something wrong. If anyone has any thoughts on what may be going on, I'd love to hear them.
Also, thanks to all who contribute here. These forums have been a great help!