data for one session
If you are going to discard the data after the session then a slider is a simple way to grab age. If you are using age groups I would recommend a more simple pattern such as radio button behaviour (but styled).
Do make sure that you can differentiate between not answered and a specified age (don't use 0 as a psuedo-null specially if users may be entering on behalf of a 6 month old child: equally don't use 01/01/1900 as a null value).
But if you want to use the age data in the future storing age at time of data entry is dangerous. (Some time ago this person was 27 is useless. On the 1/8/2016 this person was between 25 and 30 is not much better)
age in the future
If you want to use the age data in the future then DOB is by far the easiest model. Everyone knows theirs but many users have to think about exact age - people worry less about it after 40; just like you stopped worrying about the 1/2 and 3/4s during your teens.
Just make sure you localise for Americans and YYYY-MM-DD cultures. In limited UI's (wearables in our case) we used the YYYY-MM-DD format to avoid confusion between mm-dd and dd-mm when we did not know the locale and to minimise leap year issues for the user.