string $old_name, WP_Theme $old_theme )
Fires on the first WP load after a theme switch if the old theme still exists.
This action fires multiple times and the parameters differs according to the context, if the old theme exists or not.
If the old theme is missing, the parameter will be the slug of the old theme.
Callback functions attached to this hook are only triggered in the theme (and/or child theme) being activated. To do things when your theme is deactivated, use switch_theme.
View all references
do_action( 'after_switch_theme', $old_theme->get( 'Name' ), $old_theme );
Example migrated from Codex:
Add options for your theme and set them to their default values.
Update the default medium image size when a theme is activated.