DD3 has been like this a lot. Actually, I'd say she's more cranky than not. I think it has to do with two things. One is severe boredom. She is just bored easily with everything. But when she is engrossed in an activity like coloring, barbies, legos, or whatever, she is usually much better.
I think the other big reason for her crankiness is some of that asynchronous development I've read about. Her mind is way ahead of her physical abilities. Often, she knows what she wants to do and how she wants to do it, but her hands and feet don't quite get her there. I also believe that DD3 is frustrated with being a kid... it's as though even at just 3yo, she knows she's limited and can't wait to grow up so she can do more things.

My hope for my DD, and perhaps your DS, is that some time will take care of the situation. The body needs to catch up with the mind.
And try to keep him engaged in an activity to see if that helps. It may be frowned upon, but DD3 can spend an entire hour playing on the computer which gives me a much needed break from her whiny cranky behavior.